我有一个看起来像
的tapply调用的输出1 2 4
678.2 19.3 716.2
我想把它变成一个看起来像
的数据框 key value
1 1 678.2
2 2 19.3
3 4 716.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
以获得更一般的数据纠缠需求。