2017-04-17 106 views
-1

添加頻率值I有如下的數據幀:與匹配的列名

enter image description here

一些背景資料:

VAR1是唯一碼,VAR2是人ID和FREQ是總數。

例如,Person 1(P1)在代碼ABCD中出現29次,它們在代碼EFGH中也出現98次。我所要做的,就是讓它,所以它看起來是這樣的:

enter image description here

基本上,我只是想總的,所以人1已經使用的特定代碼(VAR1)127倍。 2個人使用了一個唯一的代碼14次

我不確定如何得到這個工作,我只是用R.

回答

2

開始使用dplyr我們可以做到這一點。假設DF是數據幀的名稱:

library("dplyr")  
df %>% group_by(VAR2) %>% summarise(count = sum(VAR3)) 
+0

這個作品完美也使用dplyr!非常感謝您的回答! – IAmZingy

3

在基R(其中df是數據幀):

aggregate(.~var2, df, sum)[,c(1,3)] 

# var2 freq 
#1 p1 127 
#2 p2 14 
#3 p3 135 
+0

這很好,非常感謝你! – IAmZingy

0

data.table溶液:

library(data.table) 
dt[, list(freq = sum(Freq)), by = Var2] 

# Var2 freq 
#1: P1 127 
#2: P2 14 
#3: P3 135 

數據:

dt <- fread("Var1 Var2 Freq 
      ABCD P1 29 
      ABCD P2 2 
      ABCD P3 12 
      EFGH P1 98 
      EFGH P2 12 
      EFGH P3 123")