我将几个单词粘贴在一起,但是我需要不带引号和索引的输出。为此,我使用以下代码:
condition_2<-cat(noquote(paste("S1_images", "[[1]]",sep="")))
运行它时,我在终端上得到了正确的结果:S1_images[[1]]
。但是,如果我检查变量condition_2
以确保文本已保存,则会得到以下输出
NULL
因为我需要将该变量用作代码稍后的引用,所以这产生了一个问题。
-编辑-
我需要索引[1]
,因为我想condition_2
在另一行中用作参考。如果不删除它,将会发生以下情况:
training_r<-rasterize(training,condition_2, field=test$_ID)
哪个输出是:
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ?rasterize? for signature ?"SpatialPolygonsDataFrame", "noquote"?
如果我将其删除(使用cat
),则会发生以下情况:
> training_r<-rasterize(training,condition_2, field=test$ID)
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ?rasterize? for signature ?"SpatialPolygonsDataFrame", "NULL"?
任何的想法?
您可以使用创建变量
condition_2 <- parse(text = paste0("S1_images", "[[1]]"))
然后在使用此变量时,可以用eval
例如
rasterize(training, eval(condition_2), field = test$_ID)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句