在R中的rename()函数内部使用外部变量
我是新来的在R中的rename()函数内部使用外部变量,r,R,我是新来的R,遇到了一个问题 我正在尝试重新格式化一些数据,在此过程中,我希望重命名新数据集的列 以下是我如何尝试做到这一点: 首先读入.csv文件,假设case1\u case2.csv 然后将.csv文件的名称分为两部分 每个部分都指定给一个向量 结果是这样的: xName=case1 yName=case2 在我将数据放入新列之后,我想将每一列重命名为case1和case2 为此,我尝试在R中使用rename函数,但没有将列重命名为case1和case2,而是将列重命名为xName和yN
R
,遇到了一个问题
我正在尝试重新格式化一些数据,在此过程中,我希望重命名新数据集的列
以下是我如何尝试做到这一点:
首先读入.csv
文件,假设case1\u case2.csv
然后将.csv
文件的名称分为两部分
每个部分都指定给一个向量
结果是这样的:
xName=case1
yName=case2
在我将数据放入新列之后,我想将每一列重命名为case1和case2
为此,我尝试在R
中使用rename函数,但没有将列重命名为case1
和case2
,而是将列重命名为xName
和yName
这是我的密码:
for ( n in 1:length(dirNames) ){
inFile <- read.csv(dirNames[n], header=TRUE, fileEncoding="UTF-8-BOM")
xName <- sub("_.*","",dirNames[n])
yName <- sub(".*[_]([^.]+)[.].*", "\\1", dirNames[n])
xValues <- inFile %>% select(which(str_detect(names(inFile), xName))) %>% stack() %>% rename( xName = values ) %>% subset( select = xName)
yValues <- inFile %>% select(which(!str_detect(names(inFile), xName))) %>% stack() %>% rename(yName = values, Organisms=ind)
finalForm <- cbind(xValues, yValues) %>% filter(complete.cases(.))
}
for(n/1:长度(dirNames)){
填充%子集(选择=xName)
Y值%select(其中(!str_detect(name(infle),xName)))%%>%stack()%%>%rename(yName=values,orbiats=ind)
最终形式%筛选器(完整的.cases()
}
如何确保变量xName
和yName
在rename()函数中展开
谢谢 您没有提供一个可复制的示例,因此我将只是大致演示这个想法。rename
函数是dplyr
包的一部分
您需要“unquote”包含要用作新列名的字符串的变量。unquote运算符是
并且您需要使用特殊的:=
赋值运算符来允许在左侧取消报价。
库(tidyverse)
df%重命名(!!y=x)#给出错误-需要使用:=
df%>%重命名(!!y:=x)#正确