如何根据单个列中的值“截断”数据框?例如,如果我有以下矩阵:
x <- c(5,1,3,2,4)
y <- c(1,5,3,4,2)
data <- data.frame(x,y)
如果我想获取所有大于或等于x的数值数据,该怎么做呢?我知道可以使用以下方法找到x值的地址:
addresses <- which(x>=2)
但我不确定如何使用它来创建一个新矩阵。以下方法无法正常工作:
data2 <- data[x>=2]
data2 <- data[which(x>=2)]
如果有人能提供任何建议,我会非常感激。
x
在你的数据框之外不会被定义。你需要使用类似于data[which(data$x >= 2), ]
或者with(data, data[x >= 2, ])
的东西来代替。这是一件好事,因为它将确保你不会改变x
或者你的数据而不改变另一个,否则可能会让你陷入麻烦。 - Gregor Thomas