在R中使用其他两列中的数据创建一列

时间:2019-08-08 08:39:57

标签: r

我没有丝毫的编程想法,但是我需要解决R中的以下问题。

假设我有以下数据:

x     y    
5     8
6     5
2     
9     8
4
0
6     6
7     3
3     2

我需要创建一个名为“ z”的第三列,其中包含“ y”的数据,但缺失值应为“ x”。会是这样的:

x     y     z
5     8     8
6     5     5
2           2
9     8     8
4           4
0           0
6     6     6
7     3     3
3     2     2

1 个答案:

答案 0 :(得分:0)

dat <- data.frame(x=c(5,6,2,9,4,0,6,7,3), y = c(8,5,NA,8,NA,NA,6,3,2))

library(tidyverse)

dat %>%  mutate(z = ifelse(is.na(y), x, y))

#   x  y z
# 1 5  8 8
# 2 6  5 5
# 3 2 NA 2
# 4 9  8 8
# 5 4 NA 4
# 6 0 NA 0
# 7 6  6 6
# 8 7  3 3
# 9 3  2 2