前几天我发布了this question,其中讨论了如何在相关列中存在NAs时寻找并行最大值。但是,我意识到我并没有提出正确的问题。我真正想要完成的是能够找到一行的并行最大值,但只有当一个关键列等于NA时才可以。仅当密钥列是NA时才在列之间查找并行最大值
下面是相同的数据。例如:
df1
ID Score1 Score2 Score3
1 2 3 1
2 5 1 2
3 1 6 8
4 9 10 NA
让Score3变量代表this'key”列。也就是说,我想计算一个新变量Score4,它仅在Score3 = NA时代表3个得分变量中的最大分数,否则(当Score 3不等于NA时)代表Score3的值。
在这里,我想看到的结果是,在应用一些功能FUN
:
df2<-FUN(df1)
df2
ID Score1 Score2 Score3 Score4
1 2 3 1 1
2 5 1 2 2
3 1 6 8 8
4 9 10 NA 10
谢谢!
感谢您的代码。我之前没有使用data.table,当我尝试在我的实际数据上运行它时,出现此错误:unused argument(by = 1:nrow(df))。我确定我犯了一个简单的错误,但我不确定在哪里。有小费吗? – lecreprays
我不知道为什么你会得到。你是否尝试运行我写的内容? – ahly