這是我的數據:如何從reshape2包中「倒退」融化函數?
> head(data)
id C1 C2 C3 B1 B2 B3 Name
12 3 12 8 1 3 12 Agar
14 4 11 9 5 12 14 LB
18 7 17 6 7 14 16 YEF
20 9 15 4 3 11 17 KAN
所以我用熔體功能從reshape2包重新安排我的數據。現在看起來像這樣:
dt <- melt(data, measure.vars=2:7)
> head(dt)
n v variable value rt
1 id Name p C1 1
2 12 Agar p 3 2
3 14 LB p 4 3
4 18 YEF p 7 6
5 20 KAN p 9 3
6 id Name u C2 1
我對我的數據做了一些計算,現在有一個額外的列。我們稱之爲「rt」。我想通過這個額外的列將我的數據轉換爲之前的「狀態」。你知道任何有用的功能嗎?
dput(dt)
structure(list(n = structure(c(5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L,
3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L,
4L, 5L, 1L, 2L, 3L, 4L), class = "factor", .Label = c("12", "14",
"18", "20", "id")), v = structure(c(4L, 1L, 3L, 5L, 2L, 4L, 1L,
3L, 5L, 2L, 4L, 1L, 3L, 5L, 2L, 4L, 1L, 3L, 5L, 2L, 4L, 1L, 3L,
5L, 2L, 4L, 1L, 3L, 5L, 2L), class = "factor", .Label = c("Agar",
"KAN", "LB", "Name", "YEF")), variable = structure(c(1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L,
4L, 4L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L), .Label = c("p",
"u", "k", "l", "t", "h"), class = "factor"), value = c("C1",
"3", "4", "7", "9", "C2", "12", "11", "17", "15", "C3", "8",
"9", "6", "4", "B1", "1", "5", "7", "3", "B2", "3", "12", "14",
"11", "B3", "12", "14", "16", "17")), .Names = c("n", "v", "variable",
"value"), row.names = c(NA, -30L), class = "data.frame")
該功能可能是'dcast',但如果您需要有意義的幫助,則需要提供可重複的示例。 – A5C1D2H2I1M1N2O1R2T1
[請參閱此鏈接](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。給出適當的可重現的例子可能會得到更好更快的答案。 –
您能告訴我我的例子中究竟缺少了什麼?我試圖遵循所有的規則:最小數據集被給出,包被提及。如果你的意思是關於可運行代碼,所以我不知道應該使用哪個函數。我們來試試這個dcast吧:)。 –