[英]QGIS: How to run R directly in python console?
我一直在使用QGIS python控制台自動化我的需求。 我已經使用了一些處理算法(例如距離矩陣)來處理輸出csv文件的向量層,在將它們作為變量返回到python控制台之前,我需要R對這些文件進行處理。
有沒有一種方法可以直接通過python控制台運行R(也許使用諸如rpy2之類的軟件包?)
我猜您可以使用rpy2
在QGis python控制台中輕松與R實例進行rpy2
。 在QGIS python控制台中嘗試以下幾行代碼:
>>> import rpy2.rinterface as rinterface
>>> rinterface.set_initoptions((b'rpy2', b'--no-save'))
>>> rinterface.initr()
0
>>> from rpy2.robjects.packages import importr
>>> import rpy2.robjects as robjects
您現在可以像這樣與R交互:
>>> robjects.r("""seq(1,12);""")
<IntVector - Python:0x7fa5f6e4abd8 / R:0x769f4a8>
[ 1, 2, 3, ..., 10, 11, 12]
或導入一些庫,例如:
>>> rutils = importr("utils")
>>> rgraphics = importr('graphics')
看一下Rpy2的文檔 ,我已經成功地使用了這些方法來運行從CRAN安裝的一些個人腳本或某些庫(在robjects.r("""...""")
運行多個語句並獲取輸出)在要在QGIS中使用的python變量中)。
(如果我記得很好,在Windows上我必須先設置一些環境變量,例如R_HOME
或R_USER
)
另外,如果您還沒有看到它,請看一下QGIS文檔的此頁面: 17.31。 在Processing中使用R腳本 。 它提供了一種使用現有R腳本的便捷方法,只需稍加添加即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.