2017-12-23 26 views
1

Ich bin neu bei R. Ich brauche etwas Hilfe. Ich möchte die absolute Häufigkeit und die relative Häufigkeit in einer Tabelle anzeigen.Tabelle ändern, um absolute Frequenz und relative Frequenz zu erhalten

Was erhalte ich:

female male 

314 577 

[1] 891 

[1] 0.352413 

[1] 0.647587 

Was ich will: Whitespaces funktioniert nicht so geteilt ich es mit |

Sex | absolute Frequency | relative Frequency 

male | 577 | 0.647587 

female | 314 | 0.352413 

Code:

table(titanic$Sex) 
length(titanic$Sex) 
length(which(titanic$Sex == "female"))/length(titanic$Sex) 
length(which(titanic$Sex == "male"))/length(titanic$Sex) 
+1

Es gibt mehrere Pakete mit einem 'titanic' (Kleinbuchstaben' t')-Datensatz. Welchen benutzen Sie? Schauen Sie sich "prop.table" an. –

Antwort

0

Dies sollte funktionieren:

Zuerst die Anzahl der Frauen und Männer zählen und das Ergebnis in einem data.frame

result <- as.data.frame(table(titanic$Sex)) 
konvertieren

Zweitens, berechnen Sie die relative Häufigkeit indem Sie durch die Anzahl der Zeilen dividieren und zum data.frame hinzufügen.

result$rel_freq <- result$Freq/nrow(titanic) 

Zuletzt können Sie optional die Spaltennamen auf die exakten in Ihrem Beispiel ändern.

colnames(result) <- c('Sex', 'absolute Frequency', 'relative Frequency') 

Aber vielleicht gibt es eine mehr Phantasie?

1

Hoffe, das hilft!

library(dplyr) 
library(titanic) 

df <- data.frame(table(titanic_train$Sex)) %>% 
    mutate(Rel_Freq = Freq/sum(Freq)) %>% 
    rename(Sex=Var1) 
df 

Ausgang ist:

 Sex Freq Rel_Freq 
1 female 314 0.352413 
2 male 577 0.647587 
+1

@MarkusEx Vielleicht sollten Sie [die Antwort akzeptieren] (https://stackoverflow.com/help/someone-answers), wenn es Ihnen geholfen hat, Ihr Problem zu lösen, so dass die Frage als nahe betrachtet werden kann. – Prem