根据条件从列中选择行

时间:2016-05-19 11:00:49

标签: r select rows

我正在尝试执行以下操作

#generate sample data
loc<-rep("Bak",3)
year<-rep(2005,3)
sea<-c("aut","sum","win")
area<-c(170,126,664)
prod<-c(154,170,932)
yld<-c(0.9,1.35,1/41)
dat<-data.frame(loc,year,sea,area,prod,yld)

我想选择dat$area最大的行。这意味着应该从

开始选择第三行
max(dat$area)
[1] 664

但是,我不知道如何索引这个。我尝试了以下

dat[,max(dat$area)]

但这给了我一个错误。谁能解释我如何解决这个问题。

由于

3 个答案:

答案 0 :(得分:0)

有很多方法,一个是:

dat[dat$area==max(dat$area),]

答案 1 :(得分:0)

基地R:

dat[dat$area == max(dat$area), ]

Dplyr:

library(dplyr)
filter(dat, area == max(area))

答案 2 :(得分:0)

sshd