将tapply输出转换为R中的数据帧

时间:2011-11-22 05:07:49

标签: r

我有一个看起来像

的tapply调用的输出
1        2       4
678.2    19.3    716.2

我想把它变成一个看起来像

的数据框
     key    value
1    1      678.2
2    2      19.3
3    4      716.2

我该怎么做?

2 个答案:

答案 0 :(得分:12)

如果您使用聚合替换tapply,它将自动显示为data.frame。

aggregate( value ~ key, FUN = mean )

其中值和密钥对应tapply调用

tapply( value, key, mean )

答案 1 :(得分:10)

一些示例代码会很好,看看你正在做什么。要以狭隘的方式回答您的问题,如果x的结果为tapply,那么

data.frame(key=names(x), value=x)

更广泛地说,请参阅?by?aggregate,并打包plyr以获得更一般的数据纠缠需求。