我曾经使用reshape
库并切换到reshape2
,因为它应该更快。
但是我得到了非常奇怪的结果作为recast
函数的输出:
reshape::recast
,我可以按照自己的方式获取正确的数据框
它。reshape2::recast
,我获得了一个带有标签data
的列表(其中
是我希望看作结果数据帧的矩阵)和labels
,它本身就是一个包含我的x轴和y轴标签的列表。我知道可以按照我想要的方式重建我的数据框,但不能直接完成吗?
答案 0 :(得分:1)
您只需在d
代码中添加recast
即可定义自己的功能:
redcast <- function (data, formula, ..., id.var, measure.var) {
if (any(c("id.vars", "measure.vars") %in% names(match.call()))) {
stop("Use var, not vars\n")
}
molten <- melt(data, id.var, measure.var)
dcast(molten, formula, ...)
}
redcast(french_fries, time ~ variable, id.var = 1:4)
# Aggregation function missing: defaulting to length
# time potato buttery grassy rancid painty
# 1 1 72 72 72 72 72
# 2 2 72 72 72 72 72
# 3 3 72 72 72 72 72
# 4 4 72 72 72 72 72
# 5 5 72 72 72 72 72
# 6 6 72 72 72 72 72
# 7 7 72 72 72 72 72
# 8 8 72 72 72 72 72
# 9 9 60 60 60 60 60
# 10 10 60 60 60 60 60