如何在R语言中for循环批量创建变量并赋值
要做的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循环批量创建变量并赋值相关推荐
- r语言for循环的c(),R语言中for循环的并行处理方式
前言 本文用于记录笔者在将R语言中的for语句并行化处理中的一些问题. 实验 这里使用foreach和doParallel包提供的函数实现for语句的并行处理. for语句脚本 func return ...
- R语言eval,parse批量生成变量并赋值
R语言程序有时需要根据一定的规律批量生成变量,并赋值,如果手动一个个写出变量名并赋值太麻烦.可以通过eval结合parse函数批量操作. ### 把1:10 分别赋给10个变量,变量名按规律生成 fo ...
- r语言中,如何将分类变量化为虚拟变量
在 R 中,可以使用 model.matrix 函数将分类变量转换为虚拟变量(也称为 one-hot 编码). 例如,假设你有一个数据框 df,其中包含一列名为 fruit 的分类变量,其取值为 &q ...
- r语言中的while循环_R编程中的While循环
r语言中的while循环 In addition to the for loop we discussed earlier, R also offers another kind of loop to ...
- r语言中paste函数_R中的paste()函数-简要指南
r语言中paste函数 Using the paste() function in R will be straight and simple. In this tutorial let's see ...
- r语言显示找不到read_html,R语言中read.table函数不常见的用法-文本中有#注释符号...
自从开始学习R语言,read.table是较早接触到的函数,因为要读取数据,也因为最开始学习数据分析是用"制表分隔符的txt"文件比较多,xlsm在linux系统中又不太合适,所以 ...
- R语言中的apply函数族
原文出处:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么, ...
- R语言中的apply函数用法
刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言本身来 ...
- 1071svm函数 r语言_如何利用R语言中的rpart函数建立决策树模型
决策树是根据若干输入变量的值构造出一个适合的模型,以此来预测输出变量的值,并用树形结构展示出来.决策树主要有两个类别:分类树和回归树.分类树主要针对离散的目标变量,回归树则针对连续的目标变量.R语言中 ...
最新文章
- 一起学习下一线大厂的分布式唯一ID生成方案!
- linux复盘:构架搭建lamp(安装)
- 剪映导出帧率选多少_剪映帧率怎么设置?剪映帧率设置方法
- 多种时间格式字符串转换为Date对象
- 使用Python+Tensorflow的CNN技术快速识别验证码
- list 分组_Todo List(源码已上传git): 待办事项自定义分组 - 第三章
- Why Go Is Not Good
- 20165318 预备作业3 Linux安装及学习
- wttr.in -- a magical website
- Matlab连接字符串的方法
- java中ping多个ip_在Java中ping多个服务器
- xp系统工作组计算机没有权限访问权限,XP系统工作组计算机没有法访问如何处理?...
- python词频统计西游记_基于Python第三方插件实现西游记章节标注汉语拼音
- 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem F. Judging Time Prediction 优先队列...
- windows核心编程之用户模式下的线程同步
- Android项目开发Crime
- 黑群晖vmm专业版_折腾群晖笔记:利用VMM虚拟机 安装LEDE旁路由 实现软路由超强功能...
- python玩微信小程序游戏_使用python实现微信小程序自动签到功能
- 《操作系统》学习笔记|6.6外存空间管理
- 后端进度报告(2018.5.17)
热门文章
- 近世代数 笔记与题型连载 第十三章(环与域)
- 【一起入门NLP】中科院自然语言处理第5课-循环神经网络RNN(BPTT+LSTM+GRU)
- 在国内企业做数据治理,建议您考个DAMA-CDGA/CDGP证书
- python中scipy.optimize_浅谈SciPy中的optimize.minimize实现受限优化问题
- ORACLE动态sql在存储过程中出现表或视图不存在的解决方法
- Revit二次开发——字体的问题
- NRF24L01 + ESP32 通信测试,基于PlatformIO+Arduino框架
- 开箱即用!Linux 内核首个原生支持,让你的容器体验飞起来!| 龙蜥技术
- Flink:Flink-SQL开发
- 企业怎么选择文件加密软件,加密软件哪个好用?