gpt4 book ai didi

r - 如何合并 R 中同一数据框中的行(基于特定列下的重复值)?

转载 作者:行者123 更新时间:2023-12-01 22:32:19 27 4
gpt4 key购买 nike

df 中 2 个(虚构的)示例行的示例:

userid   facultyid  courseid schoolid
167 265 NA 1678
167 71111 301 NA

假设我有几百个重复的用户标识,如上例所示。但是,绝大多数 userid 具有不同的值。

我如何将行与重复的用户 ID 结合起来,以便坚持第一个(第 2 个)行中的列值,除非第一个值是 NA(在这种情况下,NA 将被重新填充任何值从第二行开始)?

本质上,根据上面的示例,我的理想输出将包含:

userid   facultyid  courseid schoolid
167 265 301 1678

最佳答案

aggregate(x = df1, by = list(df1$userid), FUN = function(x) na.omit(x)[1])[,-1]

或者使用dplyr库:

library(dplyr)

df1 %>%
group_by(userid) %>%
summarise_each(funs(first(na.omit(.))))

关于r - 如何合并 R 中同一数据框中的行(基于特定列下的重复值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29040682/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com