我有一个data.frame df2,我想找到' var'是> 140.我使用了以下方法,他们给了我不同的结果。
> morevar = df2$var > 140
> describe(morevar)
morevar
n missing unique
8388 58 2
FALSE (8352, 100%), TRUE (36, 0%)
(通过这种方法36)
> another = ifelse(df2$var > 140,1,0)
> table(another)
another
0 1
8352 36
(通过这种方法36)
> df3 = df2[var>140,]
> str(df3)
'data.frame': 94 obs. of 44 variables:
(通过这种方法94)
excel表中的计数为36(通过排序和直接计数)
请帮忙。
答案 0 :(得分:1)
58(缺失)+ 36 = 94
来自help("[")
:
索引中的NAs
提取时,数字,逻辑或字符NA索引选择 未知元素,因此在a的相应元素中返回NA 逻辑,整数,数字,复数或字符结果,以及a的NULL 名单。 (对于原始结果,它返回00。)
所以,请使用length(na.omit(df3$var))
。
答案 1 :(得分:0)
请尝试以下代码:
x <- na.omit (df2)
nrow(subset(x, x$var>140)