将数据框重新排列成一个表,与“熔化”相反。 [英] Rearrange dataframe to a table, the opposite of "melt"
本文介绍了将数据框重新排列成一个表,与“熔化”相反。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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屋!
查看全文