r语言 - 用逗号分隔的排序值



你好,我正在尝试对两个值a和b按升序排序,并从它们中获得a_out和b_out

a= c("MN, OP, AB")
b = c("MN, O P, A B")
a_out = "AB,MN,OP"
b_out = "A B,MN,O P"

我已经尝试了下面的语句,但无法得到所需的输出

a_out = sort(a)
b_out = sort(b)

Thanks in advance

拆分排序并合并字符串。

split_and_sort <- function(x) {
toString(sort(unlist(strsplit(x, ',\s*'))))  
}
split_and_sort(a)
#[1] "AB, MN, OP"
split_and_sort(b)
#[1] "A B, MN, O P"

要在列上应用,可以使用sapply-

split_and_sort <- function(x) {
sapply(strsplit(x, ',\s*'), function(x) toString(sort(x)))  
}
df$a <- split_and_sort(df$a)

将字符串拆分并与strsplitunlist粘贴在一起:

> toString(sort(unlist(strsplit(a, ",\s*"))))
[1] "AB, MN, OP"
>

或用[[1]]代替unlist:

> toString(sort(strsplit(a, ",\s*")[[1]]))
[1] "AB, MN, OP"
> 

最新更新