R - 多个逻辑命令(组合变量以创建新变量)

时间:2018-01-25 18:56:19

标签: r if-statement

我试图通过组合两个变量来创建变量。但是,我不知道为什么我的命令没有给我预期的结果。

对于数据集,我将使用名称'数据集。'我试图通过组合jointprob变量和hlthcare变量来创建变量PopQ1。这些变量有3个输出,是"是" "否"和NA。我希望那些没有共同问题的人成为我的目标人群;有或没有医疗保健的人口(没有共同问题)是目标人群,我后来想要创建箱图。因此,我试图在没有共同问题的情况下过滤掉所有观察结果(jointprob" No" and hlthcare" Yes"" No")。所以使用jointprob进行观察"是"应该被拿走。

  
dataset <- dataset %>%
  +mutate(PopQ1 = ifelse(
    jointprob == "No" &&
      hlthcare == "Yes",
    "Yes",
    ifelse(jointprob == "No" && hlthcare == "No", "No", NA)
  ))

但是,虽然它在运行命令时没有给我任何错误,但是如果我创建一个表来进行比较,它会给出PopQ1变量中的所有NA。你能帮我解决一下这里出了什么问题吗?

brfss2013 %>%
+ group_by(jointprob, hlthcare, PopQ1) %>%
+ summarise(count = n())
# A tibble: 9 x 4
# Groups: jointprob, hlthcare [?]
  jointprob hlthcare PopQ1  count
  <fct>    <fct>    <lgl>  <int>
1 Yes      Yes      NA     69850
2 Yes      No       NA      6258
3 Yes      NA       NA       187
4 No       Yes      NA     72391
5 No       No       NA      4539
6 No       NA       NA       155
7 NA       Yes      NA    292330
8 NA       No       NA     44503
9 NA       NA       NA      1562

0 个答案:

没有答案