r语言 - 导致"argument is not interpretable as logical"错误的管道?



我遇到了一个无法解释的错误,我使用了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> }

相关内容

最新更新