This question already has an answer here:
Simpler way to reconstitute a melted data frame back to the original
(1个答案)
已关闭8年。
考虑下面的代码。
当我尝试使用dcast撤消此操作时,
相反,我得到了一个具有三列的数据框(例如,不适用于散点图)。
如何使用dcast重新制定原始数据帧?
(1个答案)
已关闭8年。
考虑下面的代码。
library (reshape2)
x = rnorm (20)
y = x + rnorm (rnorm (20, sd = .01))
dfr <- data.frame (x, y)
mlt <- melt (dfr)
当我尝试使用dcast撤消此操作时,
dcast (mlt, value ~ variable)
相反,我得到了一个具有三列的数据框(例如,不适用于散点图)。
如何使用dcast重新制定原始数据帧?
最佳答案
R如何知道融化之前存在的顺序?即x
的第一行与y
的第一行匹配的概念。
如果添加索引列(由于R会提示重复的row.names),则可以简单地执行以下操作:
dfr$idx <- seq_along(dfr$x)
mlt <- melt(dfr, id.var='idx')
dcast(mlt, idx ~ variable, value.var='value')
10-04 14:27