问题描述
我正在使用 rpy2
在 django 项目(python 是 3.6)中运行我的 R 脚本,但我遇到了一个奇怪的错误。有时我的整个代码都在工作,有时 r object
是 NULL
。我的 R 版本在服务器上是 4.0.3。
>>>>>>my import statements
import rpy2.robjects as ro
import numpy as np
import rpy2.robjects.packages as rpackages
rpackages.importr('readxl') and some more
>>>>> my code
path2script = os.path.join(settings.BASE_DIR,'r_scripts','script.R')
print('txt_path>>>>>',txt_path)
ro.globalenv['args'] = ro.vectors.StrVector([txt_path])
print('ro.globalenvargs>>>>>>',ro.globalenv['args'])
r = ro.r
print('r>>>>>>>>',r)
obj = r.source(path2script)
print('obj>>>>>>>>>',obj)
returnarray = np.array(obj,dtype="object")
print('returnarray',returnarray)
这是我的代码运行时终端的样子。
txt_path>>>>> /home/ubuntu/4triangle/r_files/args.txt
ro.globalenvargs>>>>>> [1] "/home/ubuntu/4triangle/r_files/args.txt"
r>>>>>>>> <rpy2.robjects.R object at 0x7f518ce767b8>
platform: x86_64-pc-linux-gnu
arch: x86_64
os: linux-gnu
system: x86_64,linux-gnu
这就是我的代码不工作时终端的样子。
txt_path>>>>> /home/ubuntu/4triangle/r_files/args.txt
ro.globalenvargs>>>>>> <rpy2.rinterface_lib.sexp.NULLType object at 0x7f518f663048> [RTYPES.NILSXP]
r>>>>>>>> Error in get_data_from_rscript 'NULLType' object is not callable
TypeError: 'NULLType' object is not callable"
我对为什么 r object
得到 NULL
感到有些困惑。
任何帮助将不胜感激。
script.r 中的一些代码如下:-
server_file_path <- "/home/ubuntu/4triangle/r_files"
setwd(server_file_path)
sp = args[1]
con=file(sp,open="r")
args=c(readLines(con))
file_path <- args[1]
file_name <- args[2]
main_function <- function(){
if(method == "stochastic"){
FouResT.stotastic()
}
else if(method =="re_reserving"){
FouResT.reserving()
}
else{
FouResT.ChainLadder()
}
}
main_function()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)