2017-08-17 63 views
0

我在互联网上阅读了很多内容,但没有找到解决方案。我有这个data.frame:将行中的数据帧从长变换为宽

d <- data.frame(cat = letters[11:15], count = c(1:10)) 
e <- data.frame(cat = letters[11:15], count = c(11:20)) 
G <- rbind(d, e) 

    cat count 
1 k  1 
2 l  2 
3 m  3 
4 n  4 
5 o  5 
6 k  6 
7 l  7 
8 m  8 
9 n  9 
10 o 10 
11 k 11 
12 l 12 
13 m 13 
14 n 14 
15 o 15 
16 k 16 
17 l 17 
18 m 18 
19 n 19 
20 o 20 

现在我想将数据帧转换为宽,但计数值需要在行这样的:

cat k l m n o 
    1 2 3 4 5 
    6 7 8 9 10 
    11 12 13 14 15 
    16 17 18 19 20 

我不知道,怎么去做吧。先谢谢你。

+0

你有你的数据集的另一列,以确定哪些值去哪个排在你的最终结果?否则,我不确定在每列中确定值的顺序的逻辑是什么。例如。在'k'列中,c(16,11,6,1)将与c(1,6,11,16)一样有效...... –

+0

cat k,l,m,n和o代表账户号码一个日记帐,而计数是会计事务的实际数字。因此,该期刊按行收集所有交易,现在我想收集所有账户号为k的交易,并将它们放入一个名为k的新列中。所有其他帐号都相同。对于你最后一个问题,顺序可以用原始数据的顺序来描述,所以c(1,6,11,16)就可以了。 –

回答

1

我们可以使用unstack

unstack(G, count~cat) 
相关问题