我有一个名为toyData.txt的数据集, 检验参数(n,mu,sigma)对 正态分布随机数和读数的期望和方差
n mu sigma Mean Variance
100 0 1 0.0068 0.9923
100 0 2 0.0281 3.9589
100 5 1 4.9983 1.0055
100 5 2 4.9850 3.9318
1000 0 1 0.0005 1.0042
1000 0 2 0.0041 3.9920
1000 5 1 4.9886 1.0004
1000 5 2 5.0019 3.9582
我想使用R中的库(reshap2)重新排序(n,mu,sigma) 到(mu,sigma,n)[或(sigma,mu,n)]和 相应地重新排列均值和方差的值, 然后我尝试
dat1 = read.table("toyData.txt", head=T)
library(reshape2)
dat2 = melt(dat1, id.vars=c("mu","sigma","n"))
# dat3 = dcast(melt(dat1), ???)
那我有dat2作为
mu sigma n variable value
0 1 100 Mean 0.0068
0 2 100 Mean 0.0281
5 1 100 Mean 4.9983
5 2 100 Mean 4.9850
0 1 1000 Mean 0.0005
0 2 1000 Mean 0.0041
5 1 1000 Mean 4.9886
5 2 1000 Mean 5.0019
0 1 100 Variance 0.9923
0 2 100 Variance 3.9589
5 1 100 Variance 1.0055
5 2 100 Variance 3.9318
0 1 1000 Variance 1.0042
0 2 1000 Variance 3.9920
5 1 1000 Variance 1.0004
5 2 1000 Variance 3.9582
但是,我想获得的输出为
mu sigma n Mean Variance
0 1 100 0.0068 0.9923
0 1 1000 0.0005 1.0042
0 2 100 0.0281 3.9589
0 2 1000 0.0041 3.9920
5 1 100 4.9983 1.0055
5 1 1000 4.9886 1.0004
5 2 100 4.9850 3.9318
5 2 1000 5.0019 3.9582
那我不知道如何进行。 我知道我们可以手动解决此问题,因为 这是一个小数据框,我想知道 是否有办法通过安装包来修复它 我们遇到大型数据集的情况。
答案 0 :(得分:2)
无需重塑。 只需更改列的顺序,然后安排即可。
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
答案 1 :(得分:1)
如前所述,您不需要重塑。您还可以使用data.table
对数据帧进行排序:
library(data.table)
setDT(dat1)[order(mu,sigma),.(mu,sigma, n, Mean, Variance)]
#returns
mu sigma n Mean Variance
1: 0 1 100 0.0068 0.9923
2: 0 1 1000 0.0005 1.0042
3: 0 2 100 0.0281 3.9589
4: 0 2 1000 0.0041 3.9920
5: 5 1 100 4.9983 1.0055
6: 5 1 1000 4.9886 1.0004
7: 5 2 100 4.9850 3.9318
8: 5 2 1000 5.0019 3.9582