微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

找到重复行前面的唯一项并插入空列 R

如何解决找到重复行前面的唯一项并插入空列 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?