r - 在 R 中创建变量时出错
问题描述
我将几个单词粘贴在一起,但我需要没有引号和索引的输出。为此,我使用以下代码:
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)
推荐阅读
- python - Google Translate API - 检测语言 + 翻译文档(xlsx、csv)
- react-native - 在 expo 应用程序中安装 magnus-ui 后出现错误“十六进制文字和标识符之间没有空格”
- python - 如何从图像的特定点查找 GPS(纬度/经度)信息?
- python - 我应该如何管理我的 django 应用程序的图像
- python-3.x - 如何在给定时间点将 dash 应用程序的访问权限限制为单个用户?
- python - 如何修复“Python sqlite3.OperationalError:没有这样的表”问题
- laravel - 多对多关系中的 Laravel TypeError
- python - Pythonic Logic - 为检查 0 和 1 列表的多个 if 语句寻求更有效的方法
- encoding - 有没有从图像/图像创建视频流的解决方案?
- python - 多列上的模糊合并 - 熊猫