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



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

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 行,并保留所有其他列。

鉴于您对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$e test的所有dat行。

最新更新