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)]
我正在使用 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)]