gpt4 book ai didi

在 mutate_each 或 summarise_each 之后以 'canonical' 的方式对列重新排序

转载 作者:行者123 更新时间:2023-12-04 09:38:39 25 4
gpt4 key购买 nike

以下面的例子为例。

library(dplyr)
temp <- data.frame(lapply(1:3, function(i) rnorm(5, 0, 1)))
names(temp) <- paste0("X", 1:3)

temp_each <-
temp %>%
mutate_each(funs(mean, median))

检查 temp_each 的名称,我们看到
> names(temp_each)
[1] "X1" "X2" "X3" "X1_mean" "X2_mean" "X3_mean" "X1_median" "X2_median" "X3_median"

也就是说,最后一列以三为一组,始终按顺序排列 X1 , X2 , X3 + 应用的功能。

但是,我希望它看起来像这样
[1] "X1"        "X1_mean"   "X1_median" "X2"        "X2_mean"   "X2_median" "X3"        "X3_mean"   "X3_median"

有谁知道如何实现这一点,最好使用 dplyr , 对于具有许多列和任意列名的数据框?

最佳答案

在这里你可以使用 mixedorder来自 gtools

library(gtools)
temp_each[,mixedorder(colnames(temp_each))]

# X1 X1_mean X1_median X2 X2_mean X2_median
#1 0.28285115 -0.4369067 0.08556155 -0.9402162 -0.9857593 -0.7676634
#2 -1.29193398 -0.4369067 0.08556155 -0.5442052 -0.9857593 -0.7676634
#3 -1.42261044 -0.4369067 0.08556155 -0.7676634 -0.9857593 -0.7676634
#4 0.16159810 -0.4369067 0.08556155 -2.2270920 -0.9857593 -0.7676634
#5 0.08556155 -0.4369067 0.08556155 -0.4496198 -0.9857593 -0.7676634
# X3 X3_mean X3_median
#1 0.04606554 0.0923336 -0.08168136
#2 -0.08168136 0.0923336 -0.08168136
#3 0.90535333 0.0923336 -0.08168136
#4 -0.15699052 0.0923336 -0.08168136
#5 -0.25107897 0.0923336 -0.08168136

关于在 mutate_each 或 summarise_each 之后以 'canonical' 的方式对列重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31129823/

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