r - 根据数字序列对 R 中的列进行排序
问题描述
我有专栏:
location, id_1, id_2, id_3, ..., id_20, name_1, name_2, name_3, ..., name_20
我想将它们重新排序为如下所示:
location, id_1, name_1, id_2, name_2, ..., id_20, name_20
select(location, ends_with("1"), ends_with("2"), etc.
有效,但对于 20 个变量是不可取的。
关于如何根据列名中的数字重新排序变量的任何想法?
解决方案
我们可以对列名的子字符串进行排序
library(dplyr)
library(readr)
df1 %>%
select(location, order(parse_number(names(.)[-1])) + 1)
推荐阅读
- c# - 在 C# 中获取 Guest 内置帐户名称
- flask - Jinja2 - 隐藏语句不显示在源代码中
- .htaccess - Conditional RewriteBase - 仅在 localhost 时设置基本路径
- python - Python:调用子类时类继承/ AttributeError 错误
- r - geom_text 是标记条的最佳方式吗?
- javascript - javascript extract ..stop 在值的第一个下划线处
- amazon-web-services - 是否有更快的方法来验证(或绕过)AWS SSL 域验证?(已更新答案)
- java - 如何从具有 2 个由 char 分隔的整数的字符串中获取整数?
- javascript - Firebase 云功能中的可中止 Fetch
- python - Keras 模型 evaluate() 与 predict_classes() 给出不同的准确度结果