【发布时间】:2018-01-30 16:11:34
【问题描述】:
我是R 的新手,遇到问题
我正在尝试重新格式化一些数据,并且在此过程中我想重命名新数据集的列。
这是我尝试这样做的方法:
首先读取.csv 文件,比如说case1_case2.csv
然后.csv 文件的名称分为两部分
每个部分都分配给一个向量
所以它最终是这样的:
xName=case1
yName=case2
将数据放入新列后,我想将每列重命名为 case1 和 case2
为此,我尝试使用R 中的重命名函数,但没有重命名为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(.))
}
如何确保变量xName 和yName 在rename() 函数内展开
谢谢。
【问题讨论】:
标签: r