我在R中有一个数据框,其中包含以下示例数据:
choice Wealth
1 10
2 5
3 8
3 10
2 10
3 5
1 8
2 5
2 5我正在尝试创建一个汇总表,显示财富水平的选择百分比(即,在财富x的人中,有多少人选择了1、2或3):
Wealth %choice1 %choice2 %choice3
5 0% 75% 25%
8 50% 0% 50%
10 33% 33% 33%我尝试了许多不同的方法,但似乎不能正确地处理这个问题(table、dplyr等)。由于我是R方面的新手,任何想法或帮助都将非常感谢。
发布于 2019-03-16 10:16:35
使用table与rowSums进行核对
tb=table(df$Wealth,df$choice)
tb/rowSums(tb)
1 2 3
5 0.0000000 0.7500000 0.2500000
8 0.5000000 0.0000000 0.5000000
10 0.3333333 0.3333333 0.3333333发布于 2019-03-16 10:58:11
下面是使用janitor包中的tabyl函数的一种方法:
library(janitor); library(dplyr)
df %>%
tabyl(Wealth, choice) %>%
adorn_percentages("row")
# Wealth 1 2 3
# 5 0.0000000 0.7500000 0.2500000
# 8 0.5000000 0.0000000 0.5000000
# 10 0.3333333 0.3333333 0.3333333https://stackoverflow.com/questions/55192788
复制相似问题