![](/img/trans.png)
[英]combining columns of a df into a single column based on values of another column in R?
[英]combining values in two columns in to a single new column in R
如何合并两列,以便一列中的值替换另一列中的NA?
date1 date2
2016-08-29 02:31:34 NA
NA 2016-08-29 17:59:23
date1 date2 Newdate
2016-08-29 02:31:34 NA 2016-08-29 02:31:34
NA 2016-08-29 17:59:23 2016-08-29 17:59:23
尝试dplyr::coalesce(...)
数据-注意coalesce
不适用于因素
df <- read.table(text="date1,date2
2016-08-29 02:31:34,NA
NA,2016-08-29 17:59:23", header=TRUE, sep=",", stringsAsFactors=FALSE)
解
df$dates <- dplyr::coalesce(df$date1, df$date2)
# date1 date2 dates
# 1 2016-08-29 02:31:34 <NA> 2016-08-29 02:31:34
# 2 <NA> 2016-08-29 17:59:23 2016-08-29 17:59:23
尝试以下代码:
# Simulating your data
date1 <- c("2016-08-29 02:31:34", NA)
date2 <- c(NA, "2016-08-29 17:59:23")
df <- data.frame(date1, date2, stringsAsFactors = FALSE)
# Actual solution
Newdate <- df$date1 # Copy the values from date1
Newdate[is.na(df$date1)] <- date2[is.na(df$date1)] # Replace every position where date1 is NA.
df$Newdate <- Newdate # Create the new column
print(df)
希望能帮助到你! :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.