1

我曾经使用reshape图书馆并切换到reshape2它应该更快。

但是作为函数的输出,我得到了非常奇怪的结果recast

  • 使用reshape::recast,我以我想要的方式获得了适当的数据框。
  • 使用reshape2::recast,我获得了一个带有标签的列表data(这是我希望将其视为结果数据框的矩阵),labels它本身就是一个包含我的 x 轴和 y 轴标签的列表。

我知道可以从那里按照我想要的方式重建我的数据框,但不能直接完成吗?

4

1 回答 1

1

您可以通过简单地drecast代码中添加一个来定义自己的函数:

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
于 2013-07-12T08:57:52.640 回答