我想在R中捕获警告消息,并在Python中作为字符串存储。我的问题是从熊猫数据框中的疾病样本数据开始的,如下所示:
dates = ["2020-01-01", "2020-01-02", "2020-01-03", "2020-01-04", "2020-01-05",
"2020-01-06", "2020-01-07", "2020-01-08", "2020-01-09", "2020-01-10"]
cases = [0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
df = pd.DataFrame({"dates": dates, "cases": cases})
为了估计这种疾病的繁殖数量,我将熊猫数据帧保存到一个csv文件中,然后使用名为EpiEstim的R库。我的R代码是这样的
library(EpiEstim)
disease <- read.csv(file="df.csv")
res_parametric_si <- estimate_R(disease$cases,
method="parametric_si",
config=make_config(list(mean_si=5, std_si=1)))
因为每天的病例数量非常少。EpiEstim发出如下警告消息:
Default config will estimate R on weekly sliding windows.
To change this change the t_start and t_end arguments.
Warning message:
In estimate_R_func(incid = incid, method = method, si_sample = si_sample, :
You're estimating R too
因为我的数据管道是Python环境,所以我使用rpy2从Python调用了EpiEstim。我的代码看起来像这样
import pandas as pd
from rpy2.robjects.packages import importr
from rpy2.robjects import pandas2ri
pandas2ri.activate()
dates = ["2020-01-01", "2020-01-02", "2020-01-03", "2020-01-04", "2020-01-05",
"2020-01-06", "2020-01-07", "2020-01-08", "2020-01-09", "2020-01-10"]
cases = [0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
df = pd.DataFrame({"dates": dates, "cases": cases})
eps = importr("EpiEstim")
rdf = pandas2ri.py2ri(df)
results = eps.estimate_R(rdf[1], method="parametric_si", config=eps.make_config(mean_si=5, std_si=1))
results = dict(results.items())
rhat = pandas2ri.ri2py(results["R"])
除了无法捕获在R环境中发生的警告消息外,其他一切都正常工作。你能给我一些解决这个问题的建议吗?我真的需要捕捉这样的警告信息。多谢各位
目前没有回答
相关问题 更多 >
编程相关推荐