以编程方式从数据框中提取行和列

时间:2012-12-18 06:23:59

标签: r dataframe

我有一个数据框ex。

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

1 个答案:

答案 0 :(得分:1)

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

> i <- c(2,4)
> ee <- c("a","c")
> temp[i, ee]
  a  c
2 2 11
4 4 13