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