根据整数向量获取数据帧的子集

时间:2014-03-01 19:13:00

标签: r

我有一个数据框,它有四列。现在我想根据整数向量获取该数据帧的子集。我试图使用子集并徒劳地查看其他帖子。

b=c('p','q','r','s','t','u')
a=c('at','bt','ct','dt','et','ft')
d=c(22,23,24,25,26,27)
e=c(1,2,3,4,5,6)
dat=data.frame(b,a,d,e)
dat
  b  a d  e
1 p at 22 1
2 q bt 23 2
3 r ct 24 3
4 s dt 25 4
5 t et 26 5
6 u ft 27 6
test=c(2,5)

现在我想选择测试中的第2行和第5行的所有行(保留所有列)并保留所有其他列。

1 个答案:

答案 0 :(得分:0)

根据您对dattest的定义,

dat[test,]
#   b  a  d e
# 2 q bt 23 2
# 5 t et 26 5

dat[dat$e %in% test,]
#   b  a  d e
# 2 q bt 23 2
# 5 t et 26 5

第一种方法只是将test的元素视为dat的行号。第二行提取dat dat$e所有的test行。