R中互补列的合并

R中互补列的合并,r,R,我正在为一个大学项目整理数据,我有两个变量,DidVote和WouldVote,表示投票人(如果他们在实际选举中投票)和投票人(如果他们在选举中没有投票)。这两列显然是互补的,这意味着如果DidVote有一些值,WouldVote是NA,反之亦然。我想把这两个变量合并成一个,这意味着我想得到类似于第三列的东西: DidVote将投票 x钠x 娜兹 天真的 YNaY 我已尝试做以下工作: data$Vote我们可以使用coalesce library(dplyr) df1 %>% m

我正在为一个大学项目整理数据,我有两个变量,DidVote和WouldVote,表示投票人(如果他们在实际选举中投票)和投票人(如果他们在选举中没有投票)。这两列显然是互补的,这意味着如果DidVote有一些值,WouldVote是NA,反之亦然。我想把这两个变量合并成一个,这意味着我想得到类似于第三列的东西:

DidVote将投票
x钠x
娜兹
天真的
YNaY
我已尝试做以下工作:


data$Vote我们可以使用
coalesce

library(dplyr)
df1 %>%
   mutate(Vote = coalesce(DidVote, WouldVote))
#   DidVote WouldVote Vote
#1       x      <NA>    x
#2    <NA>         z    z
#3    <NA>         y    y
#4       y      <NA>    y
库(dplyr)
df1%>%
变异(投票=合并(投票,投票)
#我会投票的
#1 x x
#2 z z
#3年
#4年
数据
df1我们可以通过使用非NA值的索引输入非NA值来创建向量投票

df <- data.frame(DidVote = c("x", NA, NA, "y"),
                 WouldVote = c(NA, "z", "y", NA))
vote <- NULL

would_vote_indx <- !is.na(df$WouldVote)
vote[would_vote_indx] <- as.character(df$WouldVote[would_vote_indx])

did_vote_indx <- !is.na(df$DidVote)
vote[did_vote_indx] <- as.character(df$DidVote[did_vote_indx])

df$Vote <- vote
df
df <- data.frame(DidVote = c("x", NA, NA, "y"),
                 WouldVote = c(NA, "z", "y", NA))
vote <- NULL

would_vote_indx <- !is.na(df$WouldVote)
vote[would_vote_indx] <- as.character(df$WouldVote[would_vote_indx])

did_vote_indx <- !is.na(df$DidVote)
vote[did_vote_indx] <- as.character(df$DidVote[did_vote_indx])

df$Vote <- vote