我的数据框如下所示:

#generic dataset
datatest <- data.frame(col1 = c(1,2,3,4), col2 = c('A', 'B', 'C', 'D'))

#character objects
name1 <- 'A'
name2 <- 'B'

我想使用name1和name2对象重命名我的列.这些在代码中会动态变化,因此我无法使用以下内容:

#I DON'T WANT THIS
datatest %>% rename(A = col1, B = col2)

我想用这个:

datatest %>% rename(name1 = col1, name2 = col2)

但是数据表列最终分别变成"name1"和"name2",而它们应该是A和B.这是目前的数据表.

name1 (I want this to be A) name2 (I want this to be B)
1 A
2 B
3 C
4 D

非常感谢您的帮助.我对可折叠桌子也有同样的问题.

推荐答案

两种 Select -

  1. 使用rename_with-
library(dplyr)

name1 <- 'A'
name2 <- 'B'

datatest %>% rename_with(~c(name1, name2), c(col1, col2))

#If there are only two columns in datatest
datatest %>% rename_with(~c(name1, name2))

#  A B
#1 1 A
#2 2 B
#3 3 C
#4 4 D
  1. 使用命名向量
name <- c(A = 'col1', B = 'col2')
datatest %>% rename(!!name)

R相关问答推荐

在R中,如何创建时间间隔的图表?

在R中,将一个函数作为输入传递给另一个函数时进行参数判断

在ComplexHeatmap中,如何更改anno_barplot()标题的Angular ?

用单个表达匹配多个替代模式

在数据表中呈现数学符号

获取一个数据库框架的摘要,该数据库框架将包含一列数据库框架,

selectInput不返回ALL,并将因子转换为shiny 的数字

用预测NLS处理R中生物学假设之上的误差传播

使用strsplit()将向量操作为数据框

将Posict转换为数字时的负时间(以秒为单位)

Data.table';S GForce-将多个函数应用于多列(带可选参数)

过滤名称以特定字符串开头的文件

警告消息";没有非缺失的参数到min;,正在返回数据中的inf";.表分组集

将统计检验添加到GGPUBR中的盒图,在R

为R中的16组参数生成10000个样本的有效方法是什么?

计算Mean by分组和绑定到R中的数据集

网络抓取新闻标题和时间

对R中的列表列执行ROW Mean操作

如何判断代码是否在R Markdown(RMD)上下文中交互运行?

使用&Fill&Quot;在gglot中创建 colored颜色 渐变