gpt4 book ai didi

R:按字母顺序对一串项目进行排序

转载 作者:行者123 更新时间:2023-12-04 12:02:11 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to change the order of words with alphabetic order

(3 个回答)


3年前关闭。




我有一个数据框,数据框中的一列包含一串由逗号分隔的项目,如下所示;

[1] "A, D, B, C"
[2] "D, A, B, C"
[3] "B, A, C, D"
etc...

有没有办法在它们内部对这些字符串进行排序,这样我就可以得到这样的东西?:
"A, B, C, D"
"A, B, C, D"
"A, B, C, D"

我很接近以下几点:
library(gtools)
df$col <- sapply(df$col , function (x)
mixedsort(strsplit(paste(x, collapse = ','), ',')[[1]]))

但这会将结果作为列表输出,因此我无法在 dplyr 中对输出进行任何操作(如 group_by)

最佳答案

x = c("a, b, c, d", "d, a, b, c", "b, a, c, d")
y = unname(sapply(x, function(x) {
paste(sort(trimws(strsplit(x[1], ',')[[1]])), collapse=',')} ))
y
[1] "a,b,c,d" "a,b,c,d" "a,b,c,d" trimws()删除空格,以便 sort 在拆分的字符串上正常工作。 sort()按字母顺序排序。 paste(..., collapse = ',')将已排序的字符串向量连接成单个字符串。

关于R:按字母顺序对一串项目进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47337732/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com