如何解决找到重复行前面的唯一项并插入空列 R
作为我的代码的一部分,我创建了一个 DataFrame,如下所示,如果所有列都相等,我想完全删除行(我知道如何实现这一部分)并在重复的行前面找到唯一项和插入空列(可以是第二列或第三列或第四列)
User Name part1 part2 part3
1 Wolfelfigaro "bonglez" "bonglez" "bonglez"
2 Wolfelfigaro "bonglez" "bonglez" "bonglez"
3 DeEvolver247 "bonglez" "" ""
4 DeEvolver247 "bonglez" "xx" ""
5 Raymond46194270 "x" "" ""
6 Raymond46194270 "bonglez" "" ""
7 merapimanf "9NewsQueensland" "" ""
我想要的输出:
User Name part1 part2 part3
1 Wolfelfigaro "bonglez"
2 DeEvolver247 "bonglez" "xx" ""
3 Raymond46194270 "x" "bonglez" ""
4 merapimanf "9NewsQueensland" "" ""
解决方法
df%>%
pivot_longer(starts_with("part")) %>%
na.omit()%>%
distinct() %>%
group_by(`User Name`)%>%
mutate(name = str_c("part",row_number()))%>%
pivot_wider()
# A tibble: 4 x 4
# Groups: User Name [4]
`User Name` part1 part2 part3
<chr> <chr> <chr> <chr>
1 WolfelFigaro bonglez bonglez bonglez
2 DeEvolver247 bonglez xx NA
3 Raymond46194270 x bonglez NA
4 merapimanf 9NewsQueensland NA NA
编辑: 由于问题已被编辑。正确答案由@ Ian Campbell
给出data %>%
pivot_longer(-1) %>%
group_by(`User Name`) %>%
summarise(value = unique(value[value != ""])) %>%
mutate(names = paste0("part",row_number())) %>%
pivot_wider(names_from = "names",values_from = "value",values_fill = "")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。