输入
titanic <- read.csv("http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic3.csv")
names(titanic)
tbl <- table(titanic$survived)
cbind(tbl, prop.table(tbl))
期望输出:按性别分类的百分比存活率,例如。 titanic$sex
。
我的尝试:
tapply(titanic$survived, titanic$sex, table)
这让我按原始数字对生存进行了性别分析;
$female
0 1
127 339
$male
0 1
682 161
但如何按百分比细分?即,所需的输出:
$female
0 1
.27 .72
$male
0 1
.81 .19
答案 0 :(得分:2)
要生成您要求的特定表格:
lapply(split(titanic,titanic$sex),function(x)prop.table(table(x$survived)))
# $female
#
# 0 1
# 0.2725322 0.7274678
#
# $male
#
# 0 1
# 0.8090154 0.1909846
答案 1 :(得分:1)
您正在寻找prop.table
功能
> prop.table(table(titanic$survived, titanic$sex), 2)
female male
0 0.2725322 0.8090154
1 0.7274678 0.1909846
传入1表示基于性别的百分比。