使用r的计算从数据库构造矩阵

交流电

我正在尝试解决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_1Column_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

我该怎么做?

Nghauran

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章