我想从Python程序中访问R. 我知道Rpy2,pyrserve和PypeR.
这三种选择有哪些优点或缺点?
我搜索了这个问题并找到了一些答案,但它们似乎都没有用.这是我在python中使用的脚本来运行我的R脚本.
import subprocess
retcode = subprocess.call("/usr/bin/Rscript --vanilla -e 'source(\"/pathto/MyrScript.r\")'", shell=True)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Error in read.table(file = file, header = header, sep = sep, quote = quote, :
no lines available in input
Calls: source ... withVisible -> eval -> eval -> read.csv -> read.table
Execution halted
Run Code Online (Sandbox Code Playgroud)
这是我的R脚本的内容(非常简单!)
data = read.csv('features.csv')
data1 = read.csv("BagofWords.csv")
merged = merge(data,data1)
write.table(merged, "merged.csv",quote=FALSE,sep=",",row.names=FALSE)
for (i in 1:length(merged$fileName))
{
fileConn<-file(paste("output/",toString(merged$fileName[i]),".txt",sep=""))
writeLines((toString(merged$BagofWord[i])),fileConn)
close(fileConn)
}
Run Code Online (Sandbox Code Playgroud)
当我source('MyrScript.r')在r命令行中使用时,r脚本工作正常.而且,当我尝试使用我在命令行中传递给subprocess.call函数(即/usr/bin/Rscript --vanilla -e 'source("/pathto/MyrScript.r")')的确切命令时,它可以找到,我真的不知道是什么问题.
我需要能够基于线性回归模型创建一个用于预测的python函数,并在时间序列数据上使用置信带:
该函数需要一个参数来指定预测的距离.例如1天,7天,30天,90天等.根据参数,它将需要创建带有置信区段的Holt-Winters预测:
我的时间序列数据如下所示:
print series
[{"target": "average", "datapoints": [[null, 1435688679], [34.870499801635745, 1435688694], [null, 1435688709], [null, 1435688724], [null, 1435688739], [null, 1435688754], [null, 1435688769], [null, 1435688784], [null, 1435688799], [null, 1435688814], [null, 1435688829], [null, 1435688844], [null, 1435688859], [null, 1435688874], [null, 1435688889], [null, 1435688904], [null, 1435688919], [null, 1435688934], [null, 1435688949], [null, 1435688964], [null, 1435688979], [38.180000209808348, 1435688994], [null, 1435689009], [null, 1435689024], [null, 1435689039], [null, 1435689054], [null, 1435689069], [null, 1435689084], [null, 1435689099], [null, 1435689114], [null, 1435689129], [null, 1435689144], [null, 1435689159], [null, 1435689174], [null, 1435689189], [null, 1435689204], …Run Code Online (Sandbox Code Playgroud) 我有许多地理参考水文数据线,每周分辨率:
Station name, Lat, Long, Week 1 average, Week 2 average ... Week 52 average
不幸的是,我也有一些只有月度分辨率的数据:
Station name, Lat, Long, January average, February average ... December average
而不是"重新发明轮子",任何人都可以推荐一个最喜欢的模块,包或技术,以提供每月价值的每周价值的合理插值?线性会很好,但如果我们可以使用坐标来改善基于附近站点的插值,那将会很好.
我用python标记了这篇文章,因为它是我最近使用的语言(尽管不是它的统计函数).如果答案是"使用类似的统计程序r",那就这样吧,但我很好奇python的内容是什么.谢谢!