如何使用 R 中的比较运算符对数据框中的行进行子集化

数据挖掘 r
2021-10-03 03:33:30

我有一个尺寸为 100x6 的数据框(一个 csv 文件),我只需要列 c("X1", "X2", "X4") 和其中 "X1" 的值大于 30 的行。所以我做了:

  data_frame <- read.csv ("data_frame")
  data_frame [c("X1", "X2", "X4")]

列子集问题已解决,但现在我需要从 data_frame [c("X1", "X2", "X4")] 中对行进行子集化,其中 "X1" 的值大于 30。我试过:

  data_frame [c("X1" > 30), c("X1", "X2", "X4")] 

但它返回与 data_frame [c("X1", "X2", "X4")] 相同的数据帧。还尝试使用相同的方法使用函数子集(),但得到了相同的结果。

1个回答

你要

data_frame[data_frame$X1 > 30, c("X1","X2","X4")]

那只会打印它,您可能想要更新data_frame或将其存储在其他东西中:

data_frame = data_frame[data_frame$X1 > 30, c("X1","X2","X4")]

您也可能想尝试在 StackOverflow 上询问这个问题,或者阅读更多基本的 R 文档,因为它应该被很好地覆盖。成为“数据科学”有点简单。