R 获取最大列值并使其成为新变量

R 获取最大列值并使其成为新变量,r,dplyr,R,Dplyr,假设您有如上所述的group和score数据,目标是生成新变量make,它只是每个组的score的最大值 这是我的尝试,但它不起作用 df = data.frame(group=c(1,1,1,2,2,2,3,3,3), score=c(11,NA,7,NA,NA,4,6,9,15), MAKE=c(11,11,11,4,4,4,15,15,15)) 为此你需要 df %>% group_by(group) %&g

假设您有如上所述的
group
score
数据,目标是生成新变量
make
,它只是每个
组的
score
的最大值

这是我的尝试,但它不起作用

df = data.frame(group=c(1,1,1,2,2,2,3,3,3),
                score=c(11,NA,7,NA,NA,4,6,9,15),
                MAKE=c(11,11,11,4,4,4,15,15,15))
为此你需要

df %>% 
    group_by(group) %>% 
    summarise(Value = max(is.na(score)))
它会在所有非NA的
得分值中找到最大值。

df %>% 
    group_by(group) %>% 
    summarise(Value = max(is.na(score)))

在所有非NA的
score
值中找到最大值。

我认为你混淆了
is.NA
NA.ommit
我认为你混淆了
is.NA
NA.ommit
df %>% group_by(group) %>% mutate(MAKE = max(score[!is.na(score)]))