如何从列的每一行中删除重复的字符?

2024-01-03

如何使用 R 从列的字符串中删除重复字符? 例如,这是我的专栏:

df<- data.frame(name = c(A="a,a,b,c,d,d,d",
                            B="a,b,b,b,f",
                            C="d,d,d,d",
                            D="a,a"))

还有我期待的专栏:

df<- data.frame(name = c(A="a,b,c,d",
                            B="a,b,f",
                            C="d",
                            D="a"))

一个选项map and strsplit

library(tidyverse)
df %>%
   mutate(name = strsplit(as.character(name), ",") %>% 
   map(~toString(unique(.x))))
#        name
#1 a, b, c, d
#2    a, b, f
#3          d
#4          a

Or in base R使用正则表达式

sub(",$", "", gsub("([a-z],)\\1+", "\\1", paste0(df$name, ",")))
#[1] "a,b,c,d" "a,b,f"   "d"       "a" 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从列的每一行中删除重复的字符? 的相关文章

随机推荐