如果受访者对多项选择回答是,则显示 R 函数
R function to display if respondent answered yes to multiple choices
我收到了一项调查的回复,要求受访者选择所有适用的选项。每个选项都被视为它自己的变量 - 如果您对多项选择选项选择是,它们将获得 1,如果未选择,它们将获得 0。
我想看看是否有人选择了一个选项,有多少人还选择了选项 B 或选项 c。理想情况下,我想创建一个 table 来显示对选项 MR1 回答是 (01) 然后对选项 MR2 和 MR3 回答是的人的百分比。
df <- read.table(text = "ID MR1 MR2 MR3
Person1 1 1 1
Person2 1 0 0
Person3 1 1 0", header = T, sep = " ", stringsAsFactors = F)
理想情况下,我希望输出看起来像这样 - 显示 100% 选择 MR1 的人也选择了 MR1,2/3 选择 MR1 的人也选择了 MR2 或 MR3,还有 1/3 的人选择 MR2 的人也选择了 MR3 -- 这将有助于查看是否有任何 MR 选项比其他选项更有可能组合在一起。
有这样的代码吗?
MR1 MR2 MR3
MR1 1 0.66 0.66
MR2 0.66 1 0.33
MR3 0.66 0.33 1
这是一种方法,其结果表示形式略有不同。在你的情况下,你只看对而不是所有可能存在的选项。
df <- df %>% mutate(x = case_when(MR1 == 0 ~ "none",
MR1 == 1 & MR2 == 0 & MR3 == 0 ~ "one",
MR1 == 1 & MR2 == 1 & MR3 == 0 ~ "two-second",
MR1 == 1 & MR2 == 0 & MR3 == 1 ~ "two-third",
MR1 == 1 & MR2 == 1 & MR3 == 1 ~ "three"))
df %>% group_by(x) %>% summarise(answers = n()) %>% mutate(share = round(answers/sum(answers)*100))
我收到了一项调查的回复,要求受访者选择所有适用的选项。每个选项都被视为它自己的变量 - 如果您对多项选择选项选择是,它们将获得 1,如果未选择,它们将获得 0。
我想看看是否有人选择了一个选项,有多少人还选择了选项 B 或选项 c。理想情况下,我想创建一个 table 来显示对选项 MR1 回答是 (01) 然后对选项 MR2 和 MR3 回答是的人的百分比。
df <- read.table(text = "ID MR1 MR2 MR3
Person1 1 1 1
Person2 1 0 0
Person3 1 1 0", header = T, sep = " ", stringsAsFactors = F)
理想情况下,我希望输出看起来像这样 - 显示 100% 选择 MR1 的人也选择了 MR1,2/3 选择 MR1 的人也选择了 MR2 或 MR3,还有 1/3 的人选择 MR2 的人也选择了 MR3 -- 这将有助于查看是否有任何 MR 选项比其他选项更有可能组合在一起。
有这样的代码吗?
MR1 MR2 MR3
MR1 1 0.66 0.66
MR2 0.66 1 0.33
MR3 0.66 0.33 1
这是一种方法,其结果表示形式略有不同。在你的情况下,你只看对而不是所有可能存在的选项。
df <- df %>% mutate(x = case_when(MR1 == 0 ~ "none",
MR1 == 1 & MR2 == 0 & MR3 == 0 ~ "one",
MR1 == 1 & MR2 == 1 & MR3 == 0 ~ "two-second",
MR1 == 1 & MR2 == 0 & MR3 == 1 ~ "two-third",
MR1 == 1 & MR2 == 1 & MR3 == 1 ~ "three"))
df %>% group_by(x) %>% summarise(answers = n()) %>% mutate(share = round(answers/sum(answers)*100))