我在 netlogo r-extension 中使用带有 i 的循环时遇到问题。我可以以这种方式使用循环吗?请指教。
extensions [gis csv matrix r]
globals [
dataname
]
to setup
ca
reset-ticks
r:eval "dataname <- read.table(file = 'C:/WORK/PROJECTS/COVID19_ABM/STATA/SALE_COVID_ALL_Dong_GIS_sm_sample_2.csv', sep = ',')" ; read file
show r:get "dataname"
r:eval "headlist <- dataname[1,]"
show r:get "headlist"
r:eval "dim_headlist <- dim(headlist)"
let colcount item 1 r:get "dim_headlist"
let colcount_r ((colcount - 1) / 4)
show colcount_r
let i 1
repeat colcount_r [
r:eval "df_i <- dataname[,1:(4 * i)]"
set i ( i + 1 )
]
file-close;
end
'''
错误说——
扩展异常:R-Extension 中的错误:Eval 中的错误:org.nlogo.api.ExtensionException:[.data.frame
(dataname, , 1:(4 * i)) 中的错误:找不到对象“i”
观察者运行 R:EVAL 时出错,由按钮“设置”调用的过程 SETUP 调用