我在 tibble 中有一个列,该列应始终具有 8 个字符的字符串作为其值,例如
ABCDEF12
。
不幸的是,我有时会得到字符串中重复 2 个字符的值,例如
ABCDCDEF12
。
重复字符的顺序不固定,可以是
ABABCDEF12
,或者ABCDEFEF12
等
对于通过删除重复序列将这些字符串减少到 8 个字符,您有什么建议吗?
如果我们将上面的例子作为输入,我们最终应该总是以
ABCDEF12
作为输出。
要知道的另一件重要的事情是,我在一台无法访问互联网的计算机上工作,我可以使用
tidyverse
,但我无法安装任何其他软件包。
非常感谢您的帮助!
假设您的特征向量是
string
:
string <- c("ABCDEF12", "ABCDCDEF12", "ABABCDEF12", "ABCDEFEF12")
然后我们可以使用基 R
strsplit
+unique
+paste0
迭代使用 sapply
:
> strsplit(string, "")|>
sapply(\(x) paste0(unique(x), collapse = ""))
[1] "ABCDEF12" "ABCDEF12" "ABCDEF12" "ABCDEF12"