相关疑难解决方法(0)

使用`starts_with()`重命名列,其中new prefix是一个字符串

在R,我要重命名所有以一些前缀开始的列(说"oldprefix1", "oldprefix2", "oldprefix3", ..."newprefix1", "newprefix2", "newprefix3", ...)函数内部.以下代码有效:

change = function(df) {
    select(df, newprefix = starts_with('oldprefix') )
}
change(test)
Run Code Online (Sandbox Code Playgroud)

但是,我想将带有新前缀的字符串作为参数传递给函数:

change2 = function(df, prefix) {
    dots = paste0(prefix," = starts_with('oldprefix')"
    select_(df, dots)
}
change2(test, "newprefix")
Run Code Online (Sandbox Code Playgroud)

我尝试过使用select_().dots,但我不能让它与该starts_with()功能一起使用.我收到了错误Error in eval(expr, envir, enclos) : could not find function "starts_with".

r rename dplyr

6
推荐指数
1
解决办法
1381
查看次数

在dplyr链中动态重命名列名

这是一个例子

temp <- mtcars
colnames(temp)[grepl("ge", colnames(temp))] <- "garbage"
Run Code Online (Sandbox Code Playgroud)

产量

                     mpg cyl  disp  hp drat    wt  qsec vs am garbage carb
Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1       4    4
Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1       4    4
Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1       4    1
Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0       3    1
Hornet Sportabout   18.7   8 360.0 175 …
Run Code Online (Sandbox Code Playgroud)

r rename dplyr

2
推荐指数
1
解决办法
2535
查看次数

标签 统计

dplyr ×2

r ×2

rename ×2