将数据框重新排列成一个表,与“熔化”相反。 [英] Rearrange dataframe to a table, the opposite of "melt"

查看:93
本文介绍了将数据框重新排列成一个表,与“熔化”相反。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这么大的数据框:

  SN = c(1:100,1:100,1: 1:100)
class = c(rep(A1,100),rep(B2,100),rep(C3,100),rep(D4,100) 6000级
myvar = rnorm(400)
mydf = data.frame(SN,class,myvar)

我想不了解一个表,每个级别为单列,myvar填充:

  SN A1 B2 C3 D4 .............等等所有6000 

如何实现这一点,我知道这是一个简单的问题,但我无法弄清楚。

解决方案

 > dcast(mydf,SN〜class)

SN A1 B2 C3 D4
1 1 0.1461258 0.8325014 0.33562088 -0.07294576
2 2 0.5964182 0.4593710 -0.23652803 -1.52539568
3 3 2.0247742 -1.1235963 1.79875447 -1.87462227
4 4 0.8184004 1.3486721 0.76076486 -1.18311991
5 5 -0.6577212 0.3666741 -0.06057506 1.38825487
6 6 0.1590443 0.2043661 0.08161778 0.10421797
...


I have huge dataframe like this:

SN = c(1:100, 1:100, 1:100, 1:100)  
class = c(rep("A1", 100), rep("B2", 100), rep("C3", 100), rep("D4", 100)) # total 6000 levels 
myvar = rnorm(400)
mydf = data.frame(SN, class, myvar) 

I want to "unmelt" to a table with each level as single column and myvar in filled:

SN          A1            B2          C3         D4       .............and so on for all 6000 

How can I achieve this, I know it is simple question, but I could not figure out.

解决方案

> dcast(mydf, SN ~ class)

  SN         A1         B2          C3          D4
1  1  0.1461258  0.8325014  0.33562088 -0.07294576
2  2  0.5964182  0.4593710 -0.23652803 -1.52539568
3  3  2.0247742 -1.1235963  1.79875447 -1.87462227
4  4  0.8184004  1.3486721  0.76076486 -1.18311991
5  5 -0.6577212  0.3666741 -0.06057506  1.38825487
6  6  0.1590443  0.2043661  0.08161778  0.10421797
...

这篇关于将数据框重新排列成一个表,与“熔化”相反。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆