簡體   English   中英

QGIS:如何直接在python控制台中運行R?

[英]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_HOMER_USER

另外,如果您還沒有看到它,請看一下QGIS文檔的此頁面: 17.31。 在Processing中使用R腳本 它提供了一種使用現有R腳本的便捷方法,只需稍加添加即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM