2017-07-21 32 views
0

我有兩個數據向量,一個返回四類人(字符串)中的一個,一個返回連續得分,每個人的範圍從0到1.我想使數據表OR矩陣,使用這四個類別作爲列,並將相應的分數列在它們各自的列中。我試着用這兩個數據向量製作一個表格,但是這隻給了我一個表格中每個分數的頻率。有沒有辦法單獨列出所有的分數?我想這樣做的原因是計算每個類別的平均分數,而現在R僅返回每個類別中平均分數的頻率。希望是有道理的!表中列出的值,而不是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

要計算每個類別的平均分數,你可以簡單地使用聚合函數:

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 
+0

我懷疑你是對的,建議不要打擾請求矩陣,直接跳到答案。 – thelatemail