1

我有一个数据框。

temp = data.frame(a=c(1,2,3,4),b=c(6,7,8,9),c=c(10,11,12,13))
> temp
a b  c
1 1 6 10
2 2 7 11
3 3 8 12
4 4 9 13

我想提取列“a”和“c”的第 2 行和第 4 行,意思是:

a c
2 11
4  13

这个“a”和“c”在输入过程中会有所不同,并且可以有更多的列名,所以我将它们放入一个列表中,例如,

t <- c("a","c")
output <- c(output,temp[2,t])
output <- c(output,temp[4,t])

但它让我回来了

> f
$a
[1] 2

$c
[1] 11

$a
[1] 4

$c
[1] 13

我想要的是

a c
2 11
4  13
4

1 回答 1

1

正如 Ananda Mahto 在对我的问题的评论中回答的那样,我可以将行和列名存储在向量中,并使用它们来获取我想要的数据:

> i <- c(2,4)
> ee <- c("a","c")
> temp[i, ee]
  a  c
2 2 11
4 4 13
于 2012-12-18T06:37:21.943 回答