gpt4 book ai didi

r - 通过优先考虑其中一列来合并数据框中的 2 列

转载 作者:行者123 更新时间:2023-12-01 09:53:12 24 4
gpt4 key购买 nike

假设我有以下 data.frame:

Value1    Value2
'a' <NA>
<NA> 'b'
<NA> 'c'
'd' 'e'
'f' 'g'
<NA> <NA>

我如何通过说第一列具有“优先级”来将这些列合并为一个,这意味着如果两列都具有来自第一列的值 chouse。所以结果应该是:

Value3
'a'
'b'
'c'
'd'
'f'
<NA>

编辑:哪里 <NA>没有可用的值。

最佳答案

这是一个使用 max.col 的简单方法(我假设这些是真实的 NA s)

df[cbind(1:nrow(df), max.col(!is.na(df), ties.method = "first"))]
# [1] "a" "b" "c" "d" "f" NA

如果这些不是真的 NA s,你可以做

df[cbind(1:nrow(df), max.col(df != "<NA>", ties.method = "first"))]

或者将它们转换为 NA使用is.na(df) <- df == "<NA>"然后尝试第一个解决方案。

关于r - 通过优先考虑其中一列来合并数据框中的 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33889427/

24 4 0
文章推荐: django-allauth - 手动调用电子邮件验证
文章推荐: java - Tic Tac Toe 程序未确定获胜者
文章推荐: java - MPAndroidChart LineChart 仅在 LineData 上显示
文章推荐: java - Spark : Creating Object RDD from List RDD