r - 如何删除列行中的重复条目?
问题描述
我有一个数据框,df:
a <- c("ID1","ID2","ID3")
b <- c("happy;sad","happy;happy","happy;sad;sad;sad")
c <- c("I","II","I")
df <- data.frame(a,b,c)
a b c
1 ID1 happy;sad I
2 ID2 happy;happy II
3 ID3 happy;sad;sad;sad I
在 b 列中,有一些重复项,例如 - happy 在 df[2,2] 中列出了两次,sad 在 df[3,2] 中列出了 3 次。如何编辑 df$b 以删除重复条目,如下所示:
a b c
1 ID1 happy;sad I
2 ID2 happy II
3 ID3 happy;sad I
解决方案
拆分,唯一,然后再次将其粘贴回来:
df$b <- sapply(as.character(df$b), function(i){
paste(unique(unlist(strsplit(i, ";"))), collapse = ";")
})
# a b c
# 1 ID1 happy;sad I
# 2 ID2 happy II
# 3 ID3 happy;sad I
推荐阅读
- python - 将进度条绑定到线程
- python - 如何在 discord.py 机器人加入语音通道之间添加暂停?
- java - 为什么如果我从 IDE (Eclipse) 将 Spring Boot 应用程序作为 Java 应用程序启动它可以工作,但是当我从 CMD 启动它时会出现 Whitelabel 错误?
- javascript - Tone.js 中的 NoiseSynth 没有声音
- javascript - 如何使用百分比使 CSS 过渡更平滑?
- c# - 使用敲除添加简单的下拉列表
- c++ - 为什么 C++ 允许嵌套同名命名空间?
- spring-boot - 迁移到 Spring 2.1.6 后 HttpServletRequest getLocalAddr 不返回本地地址
- angular - 离子通知 - 网络服务 Appelle
- algorithm - 将增量网格索引转换为 (x,y) 坐标