我有一个 df,我想用第一个实例/行 pr 组中的值替换组中的所有行。
所以例如。对于 mtcars 数据集,我希望为每组 carb 创建一个新变量 carb_1,它将 carb 列中的所有值替换为 qsec 中的值,第一行为 carb(例如 18.61 表示 carb==1) :
library(dplyr)
mtcars %>%
arrange(carb, qsec)
我尝试过使用 mutate 和 top_n 的 dplyr 组合,但它没有提供正确的结果:
mtcars %>%
group_by(carb)%>%
mutate(carb_1 = top_n(mtcars, 1,qsec ))
#or
mtcars %>%
group_by(carb)%>%
mutate(carb_1 = top_n(mtcars, 1,carb))
对于 carb==1,对于所有带有 carb==2: 16.70 的行,预期结果是这样的......
df_expected <- mtcars
df_expected$carb_1 <- ifelse(df_expected$carb==1, 18.61, df_expected$carb)
df_expected
非常感谢!
里面有个first
函数dplyr
mtcars %>%
group_by(carb)%>%
mutate(carb_1 = first(qsec))
虽然如果您订购,qsec
您也可以使用min
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句