gpt4 book ai didi

R:合并忽略 NA 的列

转载 作者:行者123 更新时间:2023-12-04 01:35:49 25 4
gpt4 key购买 nike

我有一个包含几列的数据框,其中每一行只有一列可以具有非 NA 值。我想将这些列合并为一个,只保留非 NA 值,类似于这篇文章:

Combine column to remove NA's

但是,在我的例子中,有些行可能只包含 NA,因此在组合列中,我们应该保留一个 NA,如下所示(改编 self 提到的帖子):

data <- data.frame('a' = c('A','B','C','D','E','F'),
'x' = c(1,2,NA,NA,NA,NA),
'y' = c(NA,NA,3,NA,NA,NA),
'z' = c(NA,NA,NA,4,5,NA))

所以我会

  a  x  y  z
1 A 1 NA NA
2 B 2 NA NA
3 C NA 3 NA
4 D NA NA 4
5 E NA NA 5
6 F NA NA NA

我会得到

 'a' 'mycol'  
A 1
B 2
C 3
D 4
E 5
F NA

由于 F 行,上述帖子中的解决方案在我的案例中不起作用,它是:

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

谢谢!

最佳答案

使用基础 R...

data$mycol <- apply(data[,2:4], 1, function(x) x[!is.na(x)][1])

data
a x y z mycol
1 A 1 NA NA 1
2 B 2 NA NA 2
3 C NA 3 NA 3
4 D NA NA 4 4
5 E NA NA 5 5
6 F NA NA NA NA

关于R:合并忽略 NA 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49882943/

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