计算男性和女性的存活率

时间:2018-01-31 23:11:33

标签: r

我有这个数据集:

Admin

我制作了一个变量,只存储library(earth) data(etitanic) 数据中的存活率和性别:

etitanic

现在我想找到男性和女性的存活率。我还没有及时使用过R。在C ++中,我只想写一个for循环来计算我们有多少次数字1(幸存)给定的字符串是"男性"。

我如何在R中完成此任务?我尝试使用

Survival_MF <- etitanic[2:3]

我得到了这个:

prop.table(table(etitanic$sex, etitanic$survived))

这看起来是否正确?

2 个答案:

答案 0 :(得分:2)

你可以用几种方法做 - 但是它们都不应该涉及循环。我使用dplyr::count()

library(dplyr)
etitanic %>% 
  count(sex,survived)

  sex    survived     n
  <fct>     <int> <int>
1 female        0    96
2 female        1   292
3 male          0   523
4 male          1   135

您可以按性别分组以按性别计算比例:

etitanic %>% 
  count(sex,survived) %>% 
  group_by(sex) %>% 
  mutate(rate = n/sum(n)) %>%
  ungroup()

  sex    survived     n  rate
  <fct>     <int> <int> <dbl>
1 female        0    96 0.247
2 female        1   292 0.753
3 male          0   523 0.795
4 male          1   135 0.205

或者只是省略对总人数比例的分组。

如果您想要使用数据框和#34;,那么值得学习dplyr

答案 1 :(得分:0)

使用Program Files\Microsoft VS Code\bin根据subsetsex == "male"过滤条目:

survived == 1

或者作为总数的一小部分:

nrow(subset(etitanic, sex == "male" & survived == 1))
#[1] 135