How can I combine rows within the same data frame in R (based on duplicate values under a specific column)?

后端 未结 4 1318
小鲜肉
小鲜肉 2021-01-07 03:39

Sample of 2 (made-up) example rows in df:

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


        
4条回答
  •  既然无缘
    2021-01-07 04:20

    Here's a different approach using ddply :

    # requires the plyr package
    library(plyr)
    
    # Your example dataframe with added lines
    schoolex <- data.frame(userid = c(167, 167, 200, 203, 203), facultyid = c(265, 71111, 200, 300, NA), 
                            courseid = c(NA, 301, 302, 303, 303), schoolid = c(1678, NA, 1678, NA, 1678))
    
    schoolex_duprm <- ddply(schoolex, .(userid), summarize, facultyid2 = facultyid[!is.na(facultyid)][1], 
                                   courseid2 = courseid[!is.na(courseid)][1], 
                                   schoolid2 = schoolid[!is.na(schoolid)][1])
    

提交回复
热议问题