R中的循环(可能太简单了?)
我是R新手,不知何故,我还不知道如何正确地编写循环代码。当然,我检查了一些手册和论坛条目。但我可能太傻了。我真丢脸。我的问题是: 我想特别加载44个迷你数据集(每个代表一年(它们被称为year1871.csv,year1872.csv,等等)。我想,一个循环将有助于加载所有单独的csv。基本上我希望循环为每个csv执行下面的三行。但我真的不知道如何编写代码R中的循环(可能太简单了?),r,loops,R,Loops,我是R新手,不知何故,我还不知道如何正确地编写循环代码。当然,我检查了一些手册和论坛条目。但我可能太傻了。我真丢脸。我的问题是: 我想特别加载44个迷你数据集(每个代表一年(它们被称为year1871.csv,year1872.csv,等等)。我想,一个循环将有助于加载所有单独的csv。基本上我希望循环为每个csv执行下面的三行。但我真的不知道如何编写代码 year1871=read.csv(“year1871.csv”,stringsAsFactors=TRUE) 1871年$stateA=系
year1871=read.csv(“year1871.csv”,stringsAsFactors=TRUE)
1871年$stateA=系数(1871年$stateA)
年份1871$stateB=系数(年份1871$stateB)
year1872=read.csv(“year1872.csv”,stringsAsFactors=TRUE)
1872年$stateA=系数(1872年$stateA)
年份1872$stateB=系数(年份1872$stateB)
…
如果有人能帮忙,那就太好了。谢谢!!看起来你并没有尽力,从以下几点开始:
for (i in 1:50 ) {
...
}
i
将取1到50之间的值
要创建空列表,请执行以下操作:
els = list()
要在字符串中创建year02.csv,可以执行以下操作:
i = 2
num = formatC(i, width = 2, format = "d", flag = "0")
filename = paste("year", num, ".csv", sep="")
print(filename)
要添加名为list01的元素,可以执行以下操作:
listname = paste("year", num, sep="")
els[[listname]] = read.csv(filename, stringsAsFactors=TRUE)
现在你只需要把各个部分连接起来。你确实还不够努力……但这里有一些建议
l=list()
for(i in 1:50){
name=""
if(i<10){
name=paste("year0",i,sep="")
} else {
name=paste("year",i,sep="")
}
filename=paste(name,".csv" ,sep="")
# your file reading stuff here
l[[name]]$stateA="the thing from the file" # use [[ to create a column to the list l
}
l=list()
因为(我在1:50){
name=“”
如果(i好,我找到了答案:
for (i in 1871:1914) {
assign(
paste("year", i, sep=""),
read.csv(
paste("year", i,".csv", sep=""),
stringsAsFactors=TRUE)
)
}
谢谢你的回复