使用reshape
函数,我的数据看起来像这样:
df1
ID Score1 Score2 Score3
1 2 3 1
2 3 2 1
3 2 1 NA
4 1 NA NA
如您所见,我的一些得分变量缺少值。
我有兴趣为所有ID值找到最大分数变量。当我尝试使用pmax(df1$Score1,df1$Score2,df1$Score3)
时,我生成的向量包含NA。我不知道为什么会这样,因为我知道我的Score1变量不包含任何NA。
这就是我想要完成的输出:
ID MaxScore
1 3
2 3
3 2
4 1
由于
答案 0 :(得分:1)
您可以在每一行(apply
)
MARGIN = 1
apply(X = df1[,-1], MARGIN = 1, FUN = max, na.rm = TRUE)
#[1] 3 3 2 1
答案 1 :(得分:0)
我们可以使用矢量化pmax
来完成这项工作
cbind(df1['ID'], MaxScore = do.call(pmax, c(df1[-1], na.rm = TRUE)))
# ID MaxScore
#1 1 3
#2 2 3
#3 3 2
#4 4 1