2017-07-08 1 views
0

Ich bin sehr neu bei R. Ich kann keine Antwort auf mein folgendes Problem finden: Wie berechne ich einfach den Anteil über eine Zwei-Wege- Tabelle von zwei kategorischen Variablen und fügen Sie diesen Wert als eine neue Variable hinzu? Ich möchte dplyr verwenden und mutieren.R berechne Anteil über Zweiwege-Tabelle mit zwei kategorialen Variablen und füge neue Variable hinzu

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 

Ich möchte ein Ergebnis haben, wie folgt:

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 

Ich würde es sehr eine Antwort zu schätzen wissen. Ich bin sicher sehr einfach, aber ich finde es nicht. Danke vielmals.

Antwort

0

Mit dplyr als OP

schlägt
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 

(obwohl ich weiß nicht, wie man 0,02 zum Beispiel bekommt, nur (sum(Count) * 10) in diesem Fall):

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

Ihnen sehr danken. Ich dachte, es wäre einfach, aber irgendwie habe ich keine Ahnung. Die 0.02 sind Tippfehler. Das tut mir leid. – 50Two

Verwandte Themen