列出值的表,而不是R

时间:2017-07-21 02:52:17

标签: r matrix

我有两个数据向量,一个返回四类人(字符串)中的一个,另一个返回每个人的连续分数,范围从0到1.我想使用四个数据表或矩阵作为列的类别以及各自列中列出的相应分数。我尝试用这两个数据向量制作一个表格,但这只给了我一个表格,列出了各类别中每个得分的频率。有没有办法单独列出所有分数?我想这样做的原因是计算每个类别的平均分数,现在R只返回每个类别中分数的平均频率。希望有意义!

           0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9  1
  CAT A    0   2  12  16  30  44  47  41  46  28 88
  CAT B    0   1   0   2   3   4   9   6  10   4  8
  CAT C    0   2   3   4   4   5  13   6   7   4 10
  CAT D    0   0   0   1   0   3   4   2   2   0  3

我现在拥有的东西^

CAT A   CAT B   CAT C   CAT D
.1        .2     .4      .6
.5        .9     .3      .8
.7        .1      1      .8
.8        .5      .2     .3
.
.
.
.

我想拥有什么^

1 个答案:

答案 0 :(得分:1)

要计算每个类别的平均分数,您只需使用聚合函数:

urdata <- data.frame(strings = sample(LETTERS[1:4], n, replace = T), 
                     continuous = runif(n, 0, 1))
urdata
#   strings continuous
#1        C  0.1213604
#2        D  0.8630392
#3        D  0.3409612
#4        A  0.3243816
#5        D  0.5842743
#6        A  0.2332454
#7        C  0.7025285
#8        B  0.6720415
#9        A  0.7720547
#10       C  0.5592304

aggregate(continuous ~ strings, urdata, mean)
#  strings continuous
#1       A  0.4432273
#2       B  0.6720415
#3       C  0.4610398
#4       D  0.5960916