gpt4 book ai didi

r - 如果缺少值,如何使 R 从另一列中获取值?

转载 作者:行者123 更新时间:2023-12-01 23:13:06 28 4
gpt4 key购买 nike

我有两个表,其中包含来自不同数据源的人员离开公司的数据。在离开日期的一列中有一些缺失值,在这些情况下,我想从另一个表中获取日期。

两个表中的列如下所示:

  ID      exit1      exit2
1 1 N/A 31/01/2016
2 2 01/02/2016 01/01/2021
3 3 01/10/2010 30/09/2019
4 4 N/A 31/12/2015
5 5 01/01/2016 30/09/2020

我希望我的结果是这样的:

  ID      exit1
1 1 31/01/2016
2 2 01/02/2016
3 3 01/10/2010
4 4 31/12/2015
5 5 01/01/2016

有人知道我该怎么做吗?

谢谢!

最佳答案

我们可以使用合并

library(dplyr)
df1 %>%
mutate(exit1 = na_if(exit1, "N/A")) %>%
transmute(ID, exit1 = coalesce(exit1, exit2))

-输出

 ID      exit1
1 1 31/01/2016
2 2 01/02/2016
3 3 01/10/2010
4 4 31/12/2015
5 5 01/01/2016

数据

df1 <- structure(list(ID = 1:5, exit1 = c("N/A", "01/02/2016", "01/10/2010", 
"N/A", "01/01/2016"), exit2 = c("31/01/2016", "01/01/2021", "30/09/2019",
"31/12/2015", "30/09/2020")), class = "data.frame",
row.names = c("1",
"2", "3", "4", "5"))

关于r - 如果缺少值,如何使 R 从另一列中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69456060/

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