Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 在R中加载、编辑和写入多个数据集_Loops - Fatal编程技术网

Loops 在R中加载、编辑和写入多个数据集

Loops 在R中加载、编辑和写入多个数据集,loops,Loops,我对R比较陌生,但到目前为止,我通过有效的谷歌搜索进行了管理。不幸的是,我很难用谷歌解决我目前的问题 我有大量的文件,我想编辑,并保存为不同的格式。这些表格包含约80000行的纬度、经度和平均温度数据。我需要做的是只选择与我的研究密切相关的地区和月份。虽然我可以很容易地对单个文件执行此操作,但我似乎无法自动处理我拥有的111个文件(我希望将它们分开,因为这样对下游GIS应用程序更容易) 对于单个文件,这是一个适合我的过程: test<-read.fwf("air_temp.1900", w

我对R比较陌生,但到目前为止,我通过有效的谷歌搜索进行了管理。不幸的是,我很难用谷歌解决我目前的问题

我有大量的文件,我想编辑,并保存为不同的格式。这些表格包含约80000行的纬度、经度和平均温度数据。我需要做的是只选择与我的研究密切相关的地区和月份。虽然我可以很容易地对单个文件执行此操作,但我似乎无法自动处理我拥有的111个文件(我希望将它们分开,因为这样对下游GIS应用程序更容易)

对于单个文件,这是一个适合我的过程:

test<-read.fwf("air_temp.1900", widths = c(8,8,8,8,8,8,8,8,8,8,8,8,8,8), header=F)
test1<-subset(test, V1 > -135 & V1< -55 &  V2 < 80 & V2 > 55,
select=c("V1","V2","V8","V9","V10"))
write.csv(test1.csv,file="test1",row.names=F)
以下是我试图实现流程自动化的尝试,尽管它显然存在缺陷:

names<-list.files(pattern='air_temp.*')
names1<-substr(names,1,13)

 for(i in names2){
filepath <- file.path("...Climate.geo.udel.edu/",paste(i))
assign(i, read.fwf(filepath, widths = c(8,8,8,8,8,8,8,8,8,8,8,8,8,8), header=F))

#up to here works fine, I can automate the loading of these files into R
#but editing and exporting them doesn't seem to work

subset(i, V1 > -135 & V1 < -55 &  V2 < 80 & V2 > 55, select=c(V1,V2,V8,V9,V10))
}

names您的错误是没有名为
V1
的变量。这是真的
read.fwf
返回一个
data.frame
V1
data.frame
中的一列,由
i
test
保存

要使用
data.frame
的列,您可以使用
with
功能或使用
$
语法访问
data.frame
中的列

在您的情况下,
with
语法可能更简单:

subset(i, with(i, V1 > -135 & V1 < -55 &  V2 < 80 & V2 > 55, select=c(V1,V2,V8,V9,V10)))

谢谢你的回复。不幸的是,“with”函数返回了此错误:eval中的错误(replacement(expr),data,enclose=parent.frame()):无效的“character”类型的“envir”参数,并使用$返回了此错误:i$V1中的错误:$运算符对于使用
temp的原子向量无效
subset(i, with(i, V1 > -135 & V1 < -55 &  V2 < 80 & V2 > 55, select=c(V1,V2,V8,V9,V10)))
i$V1