我想消除用逗号分隔的字符串中的重复项。
它适用于使用以下内容的单列:
df$column <- sapply(strsplit(df$column, ",", fixed = TRUE), function(x)
paste(unique(x), collapse = ","))
当我尝试在多列上使用它时,总是会收到“参数是非字符”错误。
答案 0 :(得分:1)
如果列为as.character
,我们需要用factor
换行
sapply(strsplit(as.character(df$column), ",", fixed = TRUE),
function(x) paste(unique(x), collapse = ","))
要应用于多个列,请遍历感兴趣的列,请应用相同的函数,然后将输出更新到感兴趣的列
colsOfInterest <- c('column1', 'column2')
df[colsOfInterest] <- lapply(df[colsOfInterest], function(x)
sapply(strsplit(as.character(x), ",", fixed = TRUE),
function(y) paste(unique(y), collapse=",")))