r - R代码调试:未创建循环中的命名值
问题描述
我正在使用由另一个人编写的一大段代码,在此处找到。有两部分,第二部分取决于在lyVCI
第一部分中创建的命名值。第一部分的原始代码是:
if ((exists("AnalysisPeriod") && (sy > AnalysisPeriod[1] && sy < AnalysisPeriod[2])) || exists("AnalysisPeriod") == F){
if (!(sy == max(as.numeric(YEARs)) && hemisphere == 0)){
#Check for hemisphere, load VCI data for the season
if (hemisphere == 1){
lyVCI <- allVCI[grepl(sy,allVCI)]
dscr <- sy
}else{
#Load correct data if southern hemisphere was selected (seasonality shift)
lyVCI <- c(allVCI[grepl(sy,allVCI)],allVCI[grepl(sy+1,allVCI)])
#Adjusting output filenames if southern hemisphere was selected
if (sy == min(as.numeric(YEARs))){
lyVCI <- lyVCI[1:23]
}else{
lyVCI <- lyVCI[13:35]
}
#Adjusting output filenames if southern hemisphere was selected
dscr <- paste0(sy,"_",sy+1)
}
第二个的代码是:
yVCI <- stack(lyVCI)
我认识到我需要在第一个块的末尾再添加三个大括号。同样,我已经切换了半球,因为我的数据位于北半球而不是南半球。但是,当我运行代码时,这不会创建 value lyVCI
,而是显示以下错误消息。
h(simpleError(msg,call))中的错误:在为函数“stack”选择方法时评估参数“x”时出错:找不到对象“lyVCI”
任何建议将不胜感激。
解决方案
推荐阅读
- scons - 在一个 Scons 构建中编译多个 Godot 目标
- java - 即使我将更改后的 ArrayList 作为返回值返回,我在函数中填写的 ArrayList 也不会影响其余代码中的 ArrayList
- c# - 在创建单元测试时,我能做些什么来防止该方法被调用?
- xamarin.forms - Listview 在 iOS 上滚动,但不是在 Android 上滚动
- c# - 有没有办法在我的 C# 项目中为我的自适应卡使用本地图像而不是 Web-URL?
- react-native - 在 ubuntu 19.10 上设置 React Native Android 模拟器
- isabelle - 为什么我们需要证明这两个命题才能在 Isabelle 中应用析取消除?
- python - 使用 python 套接字流式传输视频并发送响应
- audio - IBM Watson Speech-to-Text“无法转码数据流音频/webm -> 音频/x-float-array”媒体 MIME 类型
- microsoft-graph-api - "表达式 \"fields(select\" 无效。"