我使用以下代码对数据进行了子集化。
setwd("C:/Users/A/Desktop")
vf <- read.csv("Height.csv", header = TRUE)
#Insert month and Day(s) desired
vf1 <- vf [ which(vf$Month==9 & vf$Day>0 & vf$Day <31), ]
vf2 <- vf1[c(-1,-2,-3)]
当我尝试从4月20日到5月20日进行分组时,我使用此代码(如下所示)并且它没有任何子集
vf1 <- vf [ which(vf$Month==4 & vf$Month ==5 & vf$Day>19 & vf$Day <32), ]
我也尝试另一种方式(下面)并收到错误
vf1 <- vf [ which(vf$Month==4 & vf$Day>19 & vf$Day <31), which(vf$Month ==5 & vf$Day>19 & vf$Day <32), ]
Error in `[.data.frame`(vf, which(vf$Month == 4 & vf$Day > 19 & vf$Day < :
undefined columns selected
有人可以解释一下做错了什么吗?
答案 0 :(得分:1)
正如@JoshuaUlrich所说,一次观察的月份不能同时是两个值。 这样的东西会起作用:
vf1 <- vf [ which( vf$Month==4 & vf$Day>19 | vf$Month ==5 & vf$Day <32 ), ]
所以你要说的是,如果Month是4,那么Day必须大于19 或,如果Month是5,则Day必须小于32。