修改表以获得绝对频率和相对频率

时间:2017-12-23 10:39:13

标签: r statistics frequency absolute relative

我是R.的新人。我需要一些帮助。我想在表格中显示绝对频率和相对频率。

我得到了什么:

female   male 

314    577

[1] 891

[1] 0.352413

[1] 0.647587

我想要什么:空格不起作用所以我把它分成了|

Sex | absolute Frequency | relative Frequency

male | 577 | 0.647587

female | 314 | 0.352413

代码:

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

2 个答案:

答案 0 :(得分:1)

希望这有帮助!

library(dplyr)
library(titanic) 

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

输出是:

     Sex Freq Rel_Freq
1 female  314 0.352413
2   male  577 0.647587

答案 1 :(得分:0)

这应该有效:

首先,计算女性和男性的数量,并将结果转换为data.frame

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

其次,通过除以行数计算相对频率并将其添加到data.frame。

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

最后,您可以选择将列名更改为示例中的完整名称。

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

但也许有一种更奇特的方式?