browseURL 功能在 GCP AI 笔记本中不起作用

browseURL function is not working in GCP AI notebook

我正在尝试 运行 rstanarm 库的 GLM 函数。我正在使用 rpy2 库将 python 与 R 包连接起来。以下是代码:

glm_post = rstanarm.stan_glm(formula, data=r_dataframe, prior=my_prior,iter=niter, chains=nchains, cores=cores)

但我在 GCP AI Notebook 中遇到此错误:

/opt/conda/lib/python3.7/site-packages/rpy2/robjects/functions.py in __call__(self, *args, **kwargs)
    197                 kwargs[r_k] = v
    198         return (super(SignatureTranslatedFunction, self)
--> 199                 .__call__(*args, **kwargs))
    200 
    201 

/opt/conda/lib/python3.7/site-packages/rpy2/robjects/functions.py in __call__(self, *args, **kwargs)
    123             else:
    124                 new_kwargs[k] = conversion.py2rpy(v)
--> 125         res = super(Function, self).__call__(*new_args, **new_kwargs)
    126         res = conversion.rpy2py(res)
    127         return res

/opt/conda/lib/python3.7/site-packages/rpy2/rinterface_lib/conversion.py in _(*args, **kwargs)
     43 def _cdata_res_to_rinterface(function):
     44     def _(*args, **kwargs):
---> 45         cdata = function(*args, **kwargs)
     46         # TODO: test cdata is of the expected CType
     47         return _cdata_to_rinterface(cdata)

/opt/conda/lib/python3.7/site-packages/rpy2/rinterface.py in __call__(self, *args, **kwargs)
    675             )
    676             if error_occured[0]:
--> 677                 raise embedded.RRuntimeError(_rinterface._geterrmessage())
    678         return res
    679 

RRuntimeError: Error in utils::browseURL(paste0("file://", sinkfile_html)) : 
  'browser' must be a non-empty character string

browseURL() 是一个 R 函数,它试图打开网络浏览器以显示 URL 处的内容。 GCP AI笔记本在云端运行,它运行的系统可能没有设置网络浏览器

您需要找到一种调用 R 函数的方法 stan_glm(),而不需要 Web 浏览器。

通过在 env.sh 文件中添加这一行,我能够绕过 browseURL 错误。

export R_BROWSER="false"