gpt4 book ai didi

R 保留重复行中 nas 最少的行

转载 作者:行者123 更新时间:2023-12-03 09:15:07 24 4
gpt4 key购买 nike

我有一个包含用户信息的 data.frame,但每个用户 ID 可能有也可能没有重复的行,并且不同变量中存在相当多的缺失数据。我想做的是删除重复的用户数据,但对于每个用户,我想保留行中包含最少缺失值的行,以保留尽可能多的用户信息。以下是创建演示数据框的代码示例。任何帮助将不胜感激,特别是如果它是通过“dplyr”包完成的。

User_Table <- data.frame(User_ID =rep(c("UserA","UserB","UserC"),each=3),
VariableA= rep(c(1,NA,2),each=3),
VariableB = rep(c("TypeA","TypeB",NA),each=3),
VariableC = rep(c(NA,2,3),each=3))

User_Table[c(1,2,4,5,6,7),3] <- NA

最佳答案

这是一种使用 dplyr 的方法:

User_Table %>%
arrange(rowSums(is.na(.))) %>% # sort rows by number of NAs
distinct(User_ID, .keep_all = TRUE) # keep first row per User_ID only

结果:

  User_ID VariableA VariableB VariableC
1 UserA 1 TypeA NA
2 UserC 2 <NA> 3
3 UserB NA <NA> 2

关于R 保留重复行中 nas 最少的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38552222/

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