2
我有数据框“a”,它有一个名为“VAL”的变量。我想算其中val的值是23或24子集化数据帧中意外输出的原因 - R
我用它好工作两个代码元素:
nrow(subset(a,VAL==23|VAL==24)
nrow(subset(a,VAL %in% c(23,24)))
但是,我试过其他代码给出了一个意想不到的输出和我不不知道为什么。
nrow(subset(a,VAL ==c(23,24)))
即使我改变了23和24的顺序,它给出了不同的意外输出。
nrow(subset(a,VAL ==c(24,23)))
为什么这些代码不正确?他们究竟在做什么?
你应该提供一些样本数据。 – CCurtis
Thelatmail打败了我,但我想指出,你不需要使用'subset',而是'nrow(a [a $ VAL == 23 | a $ VAL == 24])''。有些人更喜欢“子集”,但我一直喜欢这样做。 – CCurtis
@CCurtis,你的建议是同样低效的:没有必要创建一个完整的子数据。然后计算行数。相反,只需使用vector:'sum($%%in%c(23,24),na.rm = TRUE)'。 – flodel