我遇到了一个无法解释的错误,我使用了bsplus库获得了一个bs_causel。它的一个工作版本是这样的模式:
bs_carousel("info") %>% bs_set_data(interval = FALSE) %>%
bs_append(bs_carousel_image(image1, if(checker1 == 1){reactable(df1[,!(names(df1) %in% c("Day"))])}))%>%
bs_append(bs_carousel_image(image2, if(checker2 == 1){reactable(df2[,!(names(df2) %in% c("Day"))])}))%>%
bs_append(bs_carousel_image(image3, if(checker3 == 1){reactable(df3[,!(names(df3) %in% c("Day"))])}))
然而,我需要放入另一个条件;bs_append";满足条件时:
bs_carousel("info") %>% bs_set_data(interval = FALSE) %>%
if(dim(df1_checked)[1] != 0){bs_append(bs_carousel_image(image1, if(checker1 == 1){reactable(df1[,!(names(df1) %in% c("Day"))])}))}%>%
if(dim(df2_checked)[1] != 0){bs_append(bs_carousel_image(image2, if(checker2 == 1){reactable(df2[,!(names(df2) %in% c("Day"))])}))}%>%
if(dim(df3_checked)[1] != 0){bs_append(bs_carousel_image(image3, if(checker3 == 1){reactable(df3[,!(names(df3) %in% c("Day"))])}))}
然而,由于某些原因,我得到了以下错误:
Error in if (.) dim(df1_checked)[1] != 0 else { :
argument is not interpretable as logical
我不认为这是一个数据问题(因此我还没有发布它(,因为当我将整个bs_causel置于相同的条件下时,它运行良好(或者至少对该条件正确(:
if(dim(df1_checked)[1] != 0){
bs_carousel("info") %>% bs_set_data(interval = FALSE) %>%
bs_append(bs_carousel_image(image1, if(checker1 == 1){reactable(df1[,!(names(df1) %in% c("Day"))])}))%>%
bs_append(bs_carousel_image(image2, if(checker2 == 1){reactable(df2[,!(names(df2) %in% c("Day"))])}))%>%
bs_append(bs_carousel_image(image3, if(checker3 == 1){reactable(df3[,!(names(df3) %in% c("Day"))])}))}
是我的语法错误,还是我遗漏了一些更基本的东西?
谢谢你的任何建议
不确定这是否会达到你的最终目标,但具体到你的错误消息——我相信这句话不起作用,因为它期望在你的"如果";条件
试着用";if(.(dim(df1_checked([1]!=0 else{:"看起来像这个伪码:
if (.) dim(df1_checked)[1] != 0{
<do stuff>}
else {
<do other stuff> }