gpt4 book ai didi

r - 使用 R 中的 reshape2 函数融化和附加数据

转载 作者:行者123 更新时间:2023-12-05 00:35:43 25 4
gpt4 key购买 nike

这应该很简单,但由于某种原因我被卡住了。我有看起来像的数据

A <- data.frame(x=rnorm(10), y=rnorm(10), z=rnorm(1))
B <- data.frame(x=rnorm(10), y=rnorm(10), z=rnorm(1))
C <- data.frame(x=rnorm(10), y=rnorm(10), z=rnorm(1))

method1 <- list(A=A,B=B,C=C)
method2 <- list(A=A,B=B,C=C)

biglist <- list(method1, method2)

我想重新格式化数据看起来像
x y z   dataset  method
- - - --- -----
1 1 1 A 1
1 0 2 A 1
1 0 3 A 1
1 1 3 A 1
1 1 1 B 1
1 0 2 B 1
1 0 3 B 1
1 1 3 B 1
1 1 1 C 1
1 0 2 C 1
1 0 3 C 1
1 1 3 C 1
1 1 1 A 2
1 0 2 A 2
1 0 3 A 2
1 1 3 A 2
1 1 1 B 2
1 0 2 B 2
...

融化并没有完全做我想要的,因为它折叠了我的 x/y/z 变量标题。

最佳答案

你的 data.frames 应该有一个主键,
例如,标识符列,或具有唯一值的列——
否则,您将得到 x, y, z
几个不相关行中一个点的坐标。
我假设 x就是这样一个栏目。

您可能还需要调用 dcastmelt 之后,
如果生成的 data.frame 太垂直。

library(reshape2)
d <- melt(biglist, id.vars="x")
d <- dcast( d, L1 + L2 + x ~ variable )

关于r - 使用 R 中的 reshape2 函数融化和附加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9122745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com