gpt4 book ai didi

按正则表达式/模式对多列重新排序和分组

转载 作者:行者123 更新时间:2023-12-05 00:42:33 25 4
gpt4 key购买 nike

我有以下几点:

a_aa a_ab a_ac b_aa b_ab b_ac
2 3 3 3 1 2
3 4 1 1 3 1

期望的结果:

a_aa b_aa a_ab b_ab a_ac b_ac
2 3 3 1 3 2
3 1 4 3 1 1

带数据的代码:

d <- "a_aa a_ab a_ac b_aa   b_ab b_ac
2 3 3 3 1 2
3 4 1 1 3 1"
dd <- read.table(textConnection(object = d), header = T)

我目前的解决方案是手动的:

    dd %>% select(a_aa, b_aa, a_ab, b_ab, a_ac, b_ac)

但是,当列数很大时,它是繁重的。任何想法如何通过分组进行这种列排序(例如序列 a_etc1、b_etc1、a_etc2、b_etc2)?谢谢!

最佳答案

这是解决问题的一种方法:

dd[order(gsub(".+_", "", names(dd)))]

# or

dd %>%
select(order(gsub(".+_", "", names(.))))


a_aa b_aa a_ab b_ab a_ac b_ac
1 2 3 3 1 3 2
2 3 1 4 3 1 1

关于按正则表达式/模式对多列重新排序和分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72926163/

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