gpt4 book ai didi

r - 合并 R 中的互补列

转载 作者:行者123 更新时间:2023-12-04 13:01:29 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to implement coalesce efficiently in R

(8 个回答)



Coalesce two string columns with alternating missing values to one

(7 个回答)


2年前关闭。




我正在为一个大学项目清理我的数据,我有两个变量,DidVote 和 WillVote,表明该人投票给谁(如果他们在实际选举中投票)以及他们会投票给谁(如果他们投票)不在选举中投票)。这两列显然是互补的,这意味着如果 DidVote 有一些值(value),WillVote 是 NA,反之亦然。我想将这两个变量合并为一个,这意味着我想得到类似于第三列的内容:

DidVote    WouldVote    Vote
x NA x
NA z z
NA y y
y NA y

我尝试执行以下操作:

data$Vote <- paste(data$DidVote,data$WouldVote)

但我最终得到的是:

DidVote    WouldVote    Vote
x NA x NA
NA z NA z
NA y NA y
y NA y NA

如何合并两列,以便新变量从两个变量 DidVote 和 WillVote 中的每一个中获取非 NA 值?

最佳答案

我们可以使用 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

数据
df1 <- structure(list(DidVote = c("x", NA, NA, "y"), WouldVote = c(NA, 
"z", "y", NA), Vote = c("x", "z", "y", "y")), class = "data.frame",
row.names = c(NA, -4L))

关于r - 合并 R 中的互补列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55893938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com