我是R的新手并且学习了子集化.我有一张桌子,我正试图获得表格子集的大小.我的问题是,当我尝试两种不同的方式时,我会得到两个不同的答案.对于表"dat",我试图选择RMS为5且BDS为2的所有行:
dim(dat[(dat$RMS==5) & (dat$BDS==2),])
Run Code Online (Sandbox Code Playgroud)
给我一个不同的答案
dim(subset(dat,(dat$RMS==5) & (dat$BDS==2)))
Run Code Online (Sandbox Code Playgroud)
第二个是正确的,有人可以解释为什么这些是不同的,为什么第一个给我错误的答案?
谢谢
原因必须是通过这两种方法对NA值进行不同的处理.如果从数据框中删除带NA的行,则应得到相同的结果:
dat_clean = na.omit(dat)
Run Code Online (Sandbox Code Playgroud)