如何通过引用 r 中的对象获取列名
How to get the column name with reference to an object in r
我有多个 csv 文件,我想访问每个文件的第二列并执行一个正则表达式,它将删除“;”之后的所有字符串。此模式对于所有文件都是相同的。
我已经提到了这个
In R, how to get an object's name after it is sent to a function?
这是我的文件示例
ID POLL
1 1,2:ksd ksj
2 3:jj
3 6:ok0j
这是我试过的
setwd("D:/Data/STN")
temp = list.files(pattern="*.csv")
for(i in 1:length(temp)){
DF1=read.csv(temp[i])
col2=colnames(DF1)[2]
assign(paste(DF1,"$"),col2)
DF1$col2 = gsub(":.*","",DF1$col2)
临时我有所有文件的所有名称,我尝试分配但没有输出。
提前致谢
我们可以用lapply
遍历data.frame
的list
,把第二列的后缀部分用sub
.
替换
lst1 <- lapply(lst, function(x) {x[,2] <- sub(":.*", "", x[,2])
x})
如下所述,data.frame
被读入 list
数据
temp <- list.files(pattern="*.csv")
lst <- lapply(temp, read.csv, stringsAsFactors=FALSE)
我有多个 csv 文件,我想访问每个文件的第二列并执行一个正则表达式,它将删除“;”之后的所有字符串。此模式对于所有文件都是相同的。 我已经提到了这个 In R, how to get an object's name after it is sent to a function? 这是我的文件示例
ID POLL
1 1,2:ksd ksj
2 3:jj
3 6:ok0j
这是我试过的
setwd("D:/Data/STN")
temp = list.files(pattern="*.csv")
for(i in 1:length(temp)){
DF1=read.csv(temp[i])
col2=colnames(DF1)[2]
assign(paste(DF1,"$"),col2)
DF1$col2 = gsub(":.*","",DF1$col2)
临时我有所有文件的所有名称,我尝试分配但没有输出。 提前致谢
我们可以用lapply
遍历data.frame
的list
,把第二列的后缀部分用sub
.
lst1 <- lapply(lst, function(x) {x[,2] <- sub(":.*", "", x[,2])
x})
如下所述,data.frame
被读入 list
数据
temp <- list.files(pattern="*.csv")
lst <- lapply(temp, read.csv, stringsAsFactors=FALSE)