如何将数据框的两列与丢失的数据合并? [英] How to combine two columns of a data-frame with missing data?

查看:52
本文介绍了如何将数据框的两列与丢失的数据合并?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是此先前问题的扩展.如何将数据框的两列合并为

This is an extension of this earlier question. How can I combine two columns of a data frame as

data <- data.frame('a' = c('A','B','C','D','E'),
                   'x' = c("t",2,NA,NA,NA),
                   'y' = c(NA,NA,NA,4,"r"))

显示为

'a' 'x' 'y'  
 A   t   NA  
 B   2   NA  
 C  NA   NA  
 D  NA   4  
 E  NA   r

获得

 'a' 'mycol'  
  A   t  
  B   2  
  C   NA  
  D   4  
  E   r  

我尝试过

cbind(data[1], mycol = na.omit(unlist(data[-1])))

但是它显然不保留NA行.

推荐答案

您可以使用ifelse来做到这一点,就像这样:

You could do it by using ifelse, like this:

data$mycol <- ifelse(!is.na(data$x), data$x, data$y)

> data

##   a  x  y mycol
## 1 A  1 NA     1
## 2 B  2 NA     2
## 3 C NA NA    NA
## 4 D NA  4     4
## 5 E NA  5     5

这篇关于如何将数据框的两列与丢失的数据合并?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆