我已經創建了下面的最小示例聚集數據幀。如何在r中
我想打開該數據幀(它是一種熔化,從而有三列:時間,房間ID)
structure(list(
Time = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
3, 3, 3, 3, 3, 3, 3),
Room = c("a", "a", "b", "b", "c", "c", "d", "d", "e", "e", "a", "a", "b", "b",
"c", "c", "d", "d", "e", "e", "a", "a", "b","b", "c", "c", "d", "d",
"e", "e"),
ID = c("A", NA, NA, NA, NA, NA, NA, "B", NA, NA, NA, NA, NA, "C", NA, "D",
NA, "E", NA, "F", NA, NA, NA, "G", NA, NA, NA, "H", NA, "I")),
class = c("tbl_df", "tbl", "data.frame"),
row.names = c(NA, 30L),
.Names = c("Time", "Room", "ID"))
到該數據幀
structure(
list(
Time = c(1, 2, 3),
a = c("A", NA, NA),
b = c(NA, "C", "G"),
c = c(NA, "D", NA),
d = c("B", "E", "H"),
e = c(NA, "F", "I")
),
class = c("tbl_df", "tbl", "data.frame"),
row.names = c(NA, -3L),
.Names = c("Time", "a", "b", "c", "d", "e")
)
其具有作爲列的房間,作爲行的時間和作爲條目的ID。
我試過如下:
dcast(df, Time~Room, fun.aggregate=NULL, value.var='ID')
但這說:Aggregation function missing: defaulting to length
雖然結構看起來不錯不返回ID值。我也試過aggregate
,但似乎不知道該怎麼做。
從您的來電dcast刪除fun.aggregate。 – Heroka