我想删除数据点,如果它们的值高于某个值但低于另一个值,但我根本无法弄清楚如何在R中执行它。
如果x <0.5且y> 2,我想删除数据点,但需要满足这两个标准。
提前致谢!
答案 0 :(得分:2)
dat <- data.frame(x=runif(100,0,2), y=runif(100,1,4))
todrop <- which(dat$x <0.5 & dat$y>2)
dat <- dat[-todrop,]
答案 1 :(得分:2)
如果您想以编程方式使用此功能,则应避免使用subset
(有关详细信息,请参阅Why is `[` better than `subset`?)。
相反,您可以使用data.frame
语法:
dat[ dat$x >= 0.5 & dat$y <= 2, ]
任何R初学者都必须阅读? "[.data.frame"
。