R 如何基于列中的值选择数据帧中的行

R 如何基于列中的值选择数据帧中的行,r,function,dataframe,subset,R,Function,Dataframe,Subset,我有一个数据框“fish”,它有3列。数据帧按第1列中的值排序。我想根据第3列中的最低值选择行。如何仅选择这些行?? 我试图用第3列中最低的值来绘制第1列中的数据 这段代码创建一个数据帧,并为我们调用的unif列返回具有三个最低值的行。您已经拥有了dataframe,因此只需选择要基于其进行筛选的列。在我使用unif的地方,你可以使用任何列的名称 ## create the dataframe n = 10 df = data.frame(round(runif(n),1), round(rn

我有一个数据框“fish”,它有3列。数据帧按第1列中的值排序。我想根据第3列中的最低值选择行。如何仅选择这些行??
我试图用第3列中最低的值来绘制第1列中的数据

这段代码创建一个数据帧,并为我们调用的
unif
列返回具有三个最低值的行。您已经拥有了dataframe,因此只需选择要基于其进行筛选的列。在我使用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

这段代码创建了一个数据帧,并返回了我们调用的
unif
列中具有三个最低值的行。您已经拥有了dataframe,因此只需选择要基于其进行筛选的列。在我使用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

需要更多信息。欢迎使用StackOverflow,@kiki33!当要求志愿者帮助您解决代码和/或问题时,我们既不是读心术的人,也没有时间设计自己的数据,以便尽可能符合您的意图。要帮助我们帮助您,请阅读和。之后,回到这里,相应地编辑您的问题。(在此之前,您可能会收到很少或没有回复。)需要更多信息。欢迎来到StackOverflow,@kiki33!当要求志愿者帮助您解决代码和/或问题时,我们既不是读心术的人,也没有时间设计自己的数据,以便尽可能符合您的意图。要帮助我们帮助您,请阅读和。之后,回到这里,相应地编辑您的问题。(在那之前,你可能很少或根本没有得到回复。)