你好,我正在尝试对两个值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)
将字符串拆分并与strsplit
和unlist
粘贴在一起:
> toString(sort(unlist(strsplit(a, ",\s*"))))
[1] "AB, MN, OP"
>
或用[[1]]
代替unlist
:
> toString(sort(strsplit(a, ",\s*")[[1]]))
[1] "AB, MN, OP"
>