我正在尝试将ANES 2012数据中的一方ID七点比例变量(pid_x)压缩为虚拟变量(民主= 1,共和党= 0)。这需要删除所有缺失值并排除独立变量(4)。我可以删除NA,但是如何过滤独立变量并适当地突变新变量?是的,我对R非常陌生。非常感谢!
下面的代码提供以下错误:
“错误:mutate()
输入party_id_recode
有问题。
x无法回收..1
(尺寸2054)以匹配..2
(尺寸3)。
i输入party_id_recode
是`ifelse(pid_x == 1:3,1,ifelse(pid_x == 5:7,0))“
library(tidyverse)
anesnew <- anes %>%
na.omit(anes$pid_x) %>%
mutate(party_id_recode = ifelse(pid_x == 1:3, 1,
ifelse(pid_x == 5:7, 0)))
答案 0 :(得分:1)
可重现的数据和预期的输出将非常有用,但是看起来您的ifelse()
语句的构造不正确,可以简化:
anesnew <- anes %>%
filter(!is.na(pid_x), pid_x != 4) %>%
mutate(party_id_recode = case_when(pid_x < 4 ~ 1,
pid_x > 4 ~ 0))
具有以下示例数据:
anes <- tibble(pid_x = c(1, 2, 3, 4, 5, 6, 7, NA))
结果是:
# A tibble: 6 x 2
pid_x party_id_recode
<dbl> <dbl>
1 1 1
2 2 1
3 3 1
4 5 0
5 6 0
6 7 0