R:根据行位置保留列

R: Keeping Columns Based on Row Positions

我正在使用 R 编程语言。

假设我有以下数据集:

set.seed(123)

a = rnorm(100,10,10)
b = rnorm(100,10,10)
c = rnorm(100,10,10)

my_data = data.frame(a,b,c)

          a          b         c
1  4.395244  2.8959344 31.988103
2  7.698225 12.5688371 23.124130
3 25.587083  7.5330812  7.348549
4 10.705084  6.5245740 15.431941
5 11.292877  0.4838143  5.856601
6 27.150650  9.5497228  5.237531

我的问题:是否可以根据行号保留此数据集中的列?例如,只保留第 3 行大于 7.3 且第 5 行大于 1 的列?

new_data = my_data[which(my_data[3,] > 7.3 & my_data[5,] >  1 ), ]

以上代码 returns 行不符合所需条件:

          a        b         c
1  4.395244 2.895934 31.988103
3 25.587083 7.533081  7.348549

我希望上面的代码只用于 return 列“a”(“a”的所有值)。

有人可以告诉我我做错了什么吗?

谢谢!

您只需要更改 , 在您的声明中的位置:

new_data = my_data[, which(my_data[3,] > 7.3 & my_data[5,] > 1)]