R 如何将多个数据帧的特定列的值更改为数据帧的值';说出自己的名字?

R 如何将多个数据帧的特定列的值更改为数据帧的值';说出自己的名字?,r,function,loops,csv,R,Function,Loops,Csv,所以我得到了一个包含多个数据集的列表。它们每个都有一个名为Index的列,其值为NA。 现在我需要知道的是如何循环遍历列表,或者创建一个函数,为每个索引列指定特定数据集的名称 到目前为止,我试图做的是: ProductionIowa = read.csv("../Data/Production/ProductionIowa.csv") ProductionIllinois = read.csv("../Data/Production/ProductionIllinois.csv") Produc

所以我得到了一个包含多个数据集的列表。它们每个都有一个名为Index的列,其值为NA。 现在我需要知道的是如何循环遍历列表,或者创建一个函数,为每个索引列指定特定数据集的名称

到目前为止,我试图做的是:

ProductionIowa = read.csv("../Data/Production/ProductionIowa.csv")
ProductionIllinois = read.csv("../Data/Production/ProductionIllinois.csv")
ProductionNebraska = read.csv("../Data/Production/ProductionNebraska.csv")

# preparing production data

keepList = c("Year", "County", "County.ANSI", "Value")
ProductionIowa = ProductionIowa %>%
  select(keepList)
ProductionIllinois = ProductionIllinois %>%
  select(keepList)
ProductionNebraska = ProductionNebraska %>%
  select(keepList)


setwd("../Data/CountiesIowa/")

filenames <- gsub("\\.csv$","", list.files(pattern="\\.csv$"))

for(i in filenames){
  assign(i, read.csv(paste(i, ".csv", sep="")))
}

dfs <- Filter(function(x) is(x, "data.frame"), mget(ls()))
dfs = dfs[-c(81,82,83)]
names = str_to_upper(str_sub(filenames,0,-7))
res = lapply(dfs, transform, Index = NA)
names = list(names) 

productionIawa=read.csv(“../Data/Production/productionIawa.csv”)
ProductionIllinois=read.csv(“../Data/Production/ProductionIllinois.csv”)
ProductionNebraska=read.csv(“../Data/Production/ProductionNebraska.csv”)
#准备生产数据
keepList=c(“年”、“县”、“县.ANSI”、“值”)
ProductionIawa=ProductionIawa%>%
选择(保留列表)
ProductionIllinois=ProductionIllinois%>%
选择(保留列表)
ProductionNebraska=ProductionNebraska%>%
选择(保留列表)
setwd(“../Data/countiesawa/”)

如果您想用数据集的名称替换列索引,可以使用<<代码> < <代码>循环:

name\u dataset=list.files(path=“../Data/Production”,pattern=“.csv”)
setwd(“../Data/Production”)
对于(i in 1:length(name_数据集)
{
data=read.table(名称\u数据集[i],标题=T)
数据$Index=name\u数据集[i]
写入(数据,名称\u数据集[i],sep=“\t”)
}

这就是你要找的吗?

< P>如果你想用数据集的名称替换列索引,你可以使用<代码>为循环:

name\u dataset=list.files(path=“../Data/Production”,pattern=“.csv”)
setwd(“../Data/Production”)
对于(i in 1:length(name_数据集)
{
data=read.table(名称\u数据集[i],标题=T)
数据$Index=name\u数据集[i]
写入(数据,名称\u数据集[i],sep=“\t”)
}
这就是你要找的吗