我有数据框“fish”,它有3列。数据框按第1列中的值排序。我想根据第3列中的最低值选择行。如何仅选择这些行? 我试图通过最低列3值绘制第1列中的数据。
答案 0 :(得分:0)
此代码创建一个数据框,并返回具有我们称为unif
的列的三个最低值的行。您已经拥有了数据框,因此您只需要根据需要选择要过滤的列。在我使用unif
的地方,你会使用你的专栏名称。
## create the dataframe
n = 10
df = data.frame(round(runif(n),1), round(rnorm(n),1))
colnames(df) = c('unif', 'norm')
unif norm
1 0.4 0.7
2 0.4 0.2
3 0.3 1.3
4 0.8 -0.4
5 0.3 -0.6
6 0.3 1.8
7 0.5 -1.0
8 0.4 0.4
9 0.0 0.2
10 0.6 -0.6
使用该数据框,我们只需要将行过滤到unif
列中具有最低三个值的行。
## return the rows with the three lowest values
df[order(df$unif)[(1:3],] #### This is the part you need
将返回此结果,我想你想要的是什么:
unif norm
7 0.5 -1.0
10 0.6 -0.6
4 0.8 -0.4