R:为不同列选择的列寻找平均值

R: Finding a mean for columns selected by different column

家庭作业。

我有一个数据框,其中包含年龄、性别以及是否在事故中死亡的人。示例:

Age    Sex    Survival
45     male   1
23     female 1
34     male   0
65     female 1

其中 "Survival" 中的值无论此人是否幸存都会引爆。 1为幸存者,0为死亡。

我想实现一个以年龄为参数和 returns 生存概率的函数。

我试过这段代码,但它对我不起作用:

fun <- function(x) mean(subset(data_with_only_males, Age = x))

我认为您需要在参数 Age == x 中使用 == 运算符(用于测试相等性)。还有 subset() returns 一个 data.frame 当它传递一个 data.frame 时,所以你需要使用 $ 运算符来 select 来自data.frame 在取平均值之前。

fun <- function(x) 
    mean(subset(data_with_only_males, Age == x)$Survival)