【发布时间】:2017-04-17 08:25:05
【问题描述】:
在这里,我尝试设置的功能遇到问题。我觉得答案会很简单,但我对 R 有点陌生并且卡住了,所以我会很感激另一种意见。 本质上,我要做的是在多个光栅文件上应用掩码函数,使用单个形状文件作为参数,并将我的输出保存在与我正在处理的光栅文件一样多的对象中。例如:
masking <- function(x){
paste0('x','_45_1',sep='') <- raster::mask(vocc_45_1_rotated,x)
paste0('x','_45_2',sep='') <- raster::mask(vocc_45_2_rotated,x)
paste0('x','_45_3',sep='') <- raster::mask(vocc_45_3_rotated,x)
paste0('x','_85_1',sep='') <- raster::mask(vocc_85_1_rotated,x)
paste0('x','_85_2',sep='') <- raster::mask(vocc_85_2_rotated,x)
paste0('x','_85_3',sep='') <- raster::mask(vocc_85_3_new,x)}
不幸的是,我一直得到一个
粘贴错误0("x", "_45_1", sep = "") 赋值目标扩展为非语言对象"
我看到了对类似“错误”问题的回复,但没有任何内容可以提示我需要在此处更改什么。
【问题讨论】:
-
LHS 不能是函数。如果要为对象动态分配名称,请使用
assign。 -
@AdamQuek 只有那些完全理解为什么永远不应该使用assign函数的人才能使用assign函数。 (
fortunes::fortune("assign")) -
你为什么不用
list()?恐怕您的整个处理管道都是基于操纵变量名,这在大多数情况下并不是最好的方法。 -
@UweBlock 很棒的报价! :D
标签: r function output mask naming