我正在尝试解决R上的以下问题。
我有一个data.frame
看起来像这样(显然更大):
Column_1 Column_2 Column_3
(0-1] (15-25] 58
(2-3] (35-45] 25
(4-5] (35-45] 50
(0-1] (15-25] 5
(2-3] (25-35] 10
(1-2] (25-35] 15
(1-2] (15-25] 12
(3-4] (25-35] 10
(4-5] (35-45] 9
我们的目标是从本构造的矩阵data.frame
具有Column_1
如列名称,Column_2
作为行的名称和与基体的内部具有平均每个存在值的Column_3
与在各自的值相关联Column_1
和Column_2
。
生成的矩阵应如下所示:
(15-25] (25-35] (35-45]
(0-1] 31.5 0 0
(1-2] 12 15 0
(2-3] 0 10 25
(3-4] 0 10 0
(4-5] 0 0 29.5
我该怎么做?
xtabs()
并aggregate()
完成工作:
as.data.frame.matrix(xtabs(Column_3 ~ Column_1 + Column_2,
aggregate(Column_3 ~ Column_1 + Column_2, df, mean)))
# output
(15-25] (25-35] (35-45]
(0-1] 31.5 0 0.0
(1-2] 12.0 15 0.0
(2-3] 0.0 10 25.0
(3-4] 0.0 10 0.0
(4-5] 0.0 0 29.5
# data
df <- structure(list(Column_1 = c("(0-1]", "(2-3]", "(4-5]", "(0-1]",
"(2-3]", "(1-2]", "(1-2]", "(3-4]", "(4-5]"), Column_2 = c("(15-25]",
"(35-45]", "(35-45]", "(15-25]", "(25-35]", "(25-35]", "(15-25]",
"(25-35]", "(35-45]"), Column_3 = c(58L, 25L, 50L, 5L, 10L, 15L,
12L, 10L, 9L)), .Names = c("Column_1", "Column_2", "Column_3"
), class = "data.frame", row.names = c(NA, -9L))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句