gpt4 book ai didi

r - 按字母顺序粘贴两个向量的元素

转载 作者:行者123 更新时间:2023-12-04 09:42:31 24 4
gpt4 key购买 nike

假设我有两个向量:

a <- c("george", "harry", "harry", "chris", "steve", "steve", "steve", "harry")
b <- c("harry", "steve", "chris", "harry", "harry", "george", "chris", "george")
我想要做的是将第一对、第二对等粘贴在一起......但是,我想按字母顺序粘贴每对的两个元素。在上面的例子中,前 2 对已经按字母顺序排列,但第三对 'harry' 和 'chris' 不是。我想为这对返回“克里斯哈里”。
我已经在两步过程中找出了如何做到这一点,但想知道是否有一种快速的方法(单行方式)来做到这一点,只需使用 paste ?
我的解决方案:
x <- apply(mapply(c, a, b, USE.NAMES = FALSE), 2, sort)
paste(x[1,], x[2,])
它按字母顺序给出了对……但是有 1 行方式吗?
[1] "george harry" "harry steve"  "chris harry"  "chris harry"  "harry steve"  "george steve" "chris steve"  "george harry"

最佳答案

有点多余,因为它排序了两次,但是矢量化了,

paste(pmin(a,b), pmax(a,b))

编辑:替代 ifelse ,
ifelse(a < b, paste(a, b), paste(b, a))

关于r - 按字母顺序粘贴两个向量的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25588426/

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