要做的case中需要批量读取一个文件夹中所有的tif文件,想要读取每一个并给予对应的变量名。

setwd("D:/case_age/data/wc2.1_10m_tavg")
all_td <- list.files(getwd())

前两步分别是设定工作目录和读取文件夹中所有文件,没有啥问题,而批量生成变量并赋值这一步出现了问题。

for (i in 1:length(all_td)){result_i = readGDAL(all_td[i])
}

首先尝试了直接刚,只能输出一个结果显然不行。也搜不到在变量名中使用占位符的方法。

然后尝试先生成变量,然后再分配:

file_tname=paste("result",c(1:length(all_td)),sep="")
for (i in 1:length(all_td)){file_tname[i] = readGDAL(all_td[i])
}

会出现如下报错:

这是因为读取的文件是空间数据,如果换成普通的数值就能正常执行。

在查询了诸多方法后,总算找到了个有用的方法:总算是能够成功运行了。核心就是eval函数和parse函数。在处理别的数据类型时,应该只要按照需要修改括号中的代码就能正常运行了。

参考网址:r 批量产生变量名并赋值 - R语言论坛 - 经管之家(原人大经济论坛)

for (i in 1:length(all_td)) {eval(parse(text=paste(paste('f_t',i,sep=''), '= readGDAL(all_td[',i,'])')))}

如何在R语言中for循环批量创建变量并赋值相关推荐

  1. r语言for循环的c(),R语言中for循环的并行处理方式

    前言 本文用于记录笔者在将R语言中的for语句并行化处理中的一些问题. 实验 这里使用foreach和doParallel包提供的函数实现for语句的并行处理. for语句脚本 func return ...

  2. R语言eval,parse批量生成变量并赋值

    R语言程序有时需要根据一定的规律批量生成变量,并赋值,如果手动一个个写出变量名并赋值太麻烦.可以通过eval结合parse函数批量操作. ### 把1:10 分别赋给10个变量,变量名按规律生成 fo ...

  3. r语言中,如何将分类变量化为虚拟变量

    在 R 中,可以使用 model.matrix 函数将分类变量转换为虚拟变量(也称为 one-hot 编码). 例如,假设你有一个数据框 df,其中包含一列名为 fruit 的分类变量,其取值为 &q ...

  4. r语言中的while循环_R编程中的While循环

    r语言中的while循环 In addition to the for loop we discussed earlier, R also offers another kind of loop to ...

  5. r语言中paste函数_R中的paste()函数-简要指南

    r语言中paste函数 Using the paste() function in R will be straight and simple. In this tutorial let's see ...

  6. r语言显示找不到read_html,R语言中read.table函数不常见的用法-文本中有#注释符号...

    自从开始学习R语言,read.table是较早接触到的函数,因为要读取数据,也因为最开始学习数据分析是用"制表分隔符的txt"文件比较多,xlsm在linux系统中又不太合适,所以 ...

  7. R语言中的apply函数族

    原文出处:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么, ...

  8. R语言中的apply函数用法

    刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言本身来 ...

  9. 1071svm函数 r语言_如何利用R语言中的rpart函数建立决策树模型

    决策树是根据若干输入变量的值构造出一个适合的模型,以此来预测输出变量的值,并用树形结构展示出来.决策树主要有两个类别:分类树和回归树.分类树主要针对离散的目标变量,回归树则针对连续的目标变量.R语言中 ...

最新文章

  1. TVM,Relay,Pass
  2. ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
  3. HTML5如何学?学HTML5要注意什么?
  4. FTP的主动模式(PORT Mode)及被动模式(Passive Mode)
  5. linux下修改rm命令防止误删除
  6. python点名代码_基于python tkinter的点名小程序功能的实例代码
  7. IntelliJ IDEA 从入门到上瘾教程,2019图文版!
  8. PSD分层模板|解析垂直化内容电商页面设计
  9. 短信平台接口怎么选择?看这一篇就够了
  10. Python编写求100以内素数
  11. 北京54坐标系和1980西安坐标系转换
  12. python-onvif库基本使用
  13. 我的全栈之路-Java基础之Java企业级项目开发环境搭建
  14. 物联网规划元旦前后出台 定十领域
  15. 第五届强网杯全国网络安全挑战赛writeup
  16. 21张手机壁纸,送给我爱的你们~
  17. 让程序员工资随年龄增长递减更合理?
  18. 天空卫士受邀成为四川省大数据发展研究会会长单位
  19. BUG InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Pl
  20. POJ 2431 Expedition(贪心+优先队列)

热门文章

  1. java求解立方根_java 利用牛頓迭代法求平方根和立方根,不使用Math類
  2. 实战篇-OpenSSL之TripleDES加密算法-CFB64模式
  3. Ubuntu快速删除大量小文件方法
  4. 【渝粤题库】广东开放大学photoshop图像处理 形成性考核
  5. 软件版本号简易控制规范
  6. 银行卡I类II类III类账户区别
  7. form表单的使用,iframe内嵌标签
  8. 蒙特卡洛法求非线性方程组
  9. Google Earth Engine——地图对象
  10. 在cmd中用PING命令时,出现'Ping' 不是内部或外部命令,也不是可运行的程序或批处理文件。...