我没有丝毫的编程想法,但是我需要解决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
答案 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