2017-07-08 56 views
0

我對R非常陌生。我無法找到對以下問題的答案:如何輕鬆計算雙向表中的比例?兩個分類變量的表,並將該值添加爲新變量?我想使用dplyr和mutate。R用兩個分類變量計算雙向表中的比例並添加新變量

Gender <- c("Female","Female","Male","Male") 
Believer <- c("Yes","No","Yes","No") 
Count <- c(100,50,200,150) 
dat <- data.frame(Gender,Believer,Count) 

dat 
Gender Believer Count 
1 Female  Yes 100 
2 Female  No 50 
3 Male  Yes 200 
4 Male  No 150 

str(dat) 
'data.frame': 4 obs. of 3 variables: 
$ Gender : Factor w/ 2 levels "Female","Male": 1 1 2 2 
$ Believer: Factor w/ 2 levels "No","Yes": 2 1 2 1 
$ Count : num 100 50 200 150 

我想有一個結果如下:

dat 
Gender Believer Count Prop 
1 Female  Yes 100 0.02 
2 Female  No 50 0.01 
3 Male  Yes 200 0.04 
4 Male  No 150 0.03 

我將非常感謝答案。我當然很簡單,但我找不到它。非常感謝。

回答

0

使用dplyr作爲OP表明

library(dplyr) 

dat %>% mutate(Prop = Count/sum(Count)) 

    Gender Believer Count Prop 
1 Female  Yes 100 0.2 
2 Female  No 50 0.1 
3 Male  Yes 200 0.4 
4 Male  No 150 0.3 

(雖然我不知道你是怎麼在這種情況下,得到了0.02例如,剛剛(sum(Count) * 10)):

dat %>% mutate(Prop = Count/(sum(Count) * 10)) 
+0

非常感謝你。我認爲這很容易,但不知何故找不到線索。 0.02是拼寫錯誤。對於那個很抱歉。 – 50Two