你可以通過簡單地增加一個單純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
我同意你的解決方案在這裏(+1),但你認爲這也許是對什麼是監督可能是利用率低下的功能?我能想到的唯一想法是,這是設計用於'dcast'和'acast',因此轉換爲列表,但不知道爲什麼沒有「重新組裝」輸出的函數。 – A5C1D2H2I1M1N2O1R2T1
我不知道。我不認爲需要這個功能。它只保存一行代碼,並且「施加[額外的]認知負擔」(引用哈德利)。 – Roland
這就是我的意思。它似乎沒有廣告,我不能完全弄清楚爲什麼它存在開始...... – A5C1D2H2I1M1N2O1R2T1