来自R中的数据帧评估的False
这是我的例子来自R中的数据帧评估的False,r,if-statement,R,If Statement,这是我的例子 my_df <- data.frame(col_1 = c(1,2,4), col_2 = c('A', 'B', 'C')) 此值当前返回: factor(0) Levels: A B C 我怎么比较呢 my_df[my_df$col_1==5,'col_2'] == 0? is.na(my_df[my_df$col_1==5,'col_2']) ? 什么都不管用 这是可行的,但有点笨拙 NROW(my_df[my_df$col_1==5,'col_2'])==0
my_df <- data.frame(col_1 = c(1,2,4), col_2 = c('A', 'B', 'C'))
此值当前返回:
factor(0)
Levels: A B C
我怎么比较呢
my_df[my_df$col_1==5,'col_2'] == 0?
is.na(my_df[my_df$col_1==5,'col_2']) ?
什么都不管用
这是可行的,但有点笨拙
NROW(my_df[my_df$col_1==5,'col_2'])==0
要检查col_1的所有元素是否都等于5,则
if(all(my_df$col_1)==5)
要检查col_2的任何元素是否等于5:
if(any)(my_-df$col\u 1==5)
any(my_-df$col\u 1==5)
也许吧?如果只有一列,那么你可以尝试长度((my_-df[my_-df$col\u 1==5,'col\u 2')
NROW(my_df[my_df$col_1==5,'col_2'])==0