向 R 中的多向表添加边距
Add margins to multi-way tables in R
我在 R 中有以下代码来构建三向应急 table:
txt=" death_p yes no
v_race d_race
white white 53 414
black 11 37
black white 0 16
black 4 139"
mytable = as.table(read.ftable(textConnection(txt)))
mytable = addmargins(mytable, margin=c(1))
打印正确
death_p yes no
v_race d_race
white white 53 414
black 11 37
black white 0 16
black 4 139
Sum white 53 430
black 15 176
我想在列 "no" 后添加一个 "percentage_yes",以保留 table 的结构。
death_p yes no %yes
v_race d_race
white white 53 414 0.11
black 11 37 0.00
black white 0 16 0.11
black 4 139 0.23
Sum white 53 430 0.28
black 15 176 0.79
我试过
subset(as.data.frame(prop.table(mytable, c(1,2))), death_p=="yes", select=c("Freq"))
但我不知道如何使用 Abind(来自 DescTools)将这个新列添加到 table。我不知道是否有更好的方法来实现这一点。
预先感谢您的帮助。
对于那些可能感兴趣的人,我设法通过定义一个函数来计算百分比然后将其传递给 addmargins 来做到这一点。
p_yes = function(x) x[1]/sum(x)
mytable = addmargins(mytable, margin=c(3), FUN = list(p_yes))
给出
death_p yes no %yes
v_race d_race
white white 53.00 414.00 0.11
black 11.00 37.00 0.00
black white 0.00 16.00 0.11
black 4.00 139.00 0.23
Sum white 53.00 430.00 0.28
black 15.00 176.00 0.79
我在 R 中有以下代码来构建三向应急 table:
txt=" death_p yes no
v_race d_race
white white 53 414
black 11 37
black white 0 16
black 4 139"
mytable = as.table(read.ftable(textConnection(txt)))
mytable = addmargins(mytable, margin=c(1))
打印正确
death_p yes no
v_race d_race
white white 53 414
black 11 37
black white 0 16
black 4 139
Sum white 53 430
black 15 176
我想在列 "no" 后添加一个 "percentage_yes",以保留 table 的结构。
death_p yes no %yes
v_race d_race
white white 53 414 0.11
black 11 37 0.00
black white 0 16 0.11
black 4 139 0.23
Sum white 53 430 0.28
black 15 176 0.79
我试过
subset(as.data.frame(prop.table(mytable, c(1,2))), death_p=="yes", select=c("Freq"))
但我不知道如何使用 Abind(来自 DescTools)将这个新列添加到 table。我不知道是否有更好的方法来实现这一点。 预先感谢您的帮助。
对于那些可能感兴趣的人,我设法通过定义一个函数来计算百分比然后将其传递给 addmargins 来做到这一点。
p_yes = function(x) x[1]/sum(x)
mytable = addmargins(mytable, margin=c(3), FUN = list(p_yes))
给出
death_p yes no %yes
v_race d_race
white white 53.00 414.00 0.11
black 11.00 37.00 0.00
black white 0.00 16.00 0.11
black 4.00 139.00 0.23
Sum white 53.00 430.00 0.28
black 15.00 176.00 0.79