2015-05-04 36 views
4

研究R,我已經看到它有如何在移動平臺(iOS和Android)中使用的限制。運行R的C核只

我已經看到了RInside和RCpp,它們可以讓你使用C++ for R,這對於這些平臺來說很好,但是它似乎主要是R本身的接口,它仍然需要R運行。

我也注意到,還有爲R的核心就是在C大的部分,並想知道是否可以方便地使用這些C函數和結構不運行R.

+0

對我來說,似乎DIrk和他的朋友版主發現這個問題太廣泛了。而不是實事求是,並且問它是什麼。這個問題清楚地表明,如果沒有R本身就可以使用C核。這不是一個廣泛的問題。要麼是或者不是。 – Claudia

+1

IIUC,只要您的C99 + Fortran(90?)兼容編譯器可用+需要的外部庫,只要您的工具鏈可以編譯/構建R',答案基本上就是'是的,您應該能夠允許的話)。 Rmath也可以獨立構建。但是,一般來說,大多數R的C實用程序並不是真正的模塊化/從R的'核心'中斷開以便'沒有R'使用,但是您可能有一些運氣需要複製R頭文件+您需要的實現文件(請注意,這將GPL -2你的應用程序) –

+0

@KevinUshey謝謝你的回答。這當然更符合我期待的答案。可悲的是,我不能通過SO的正常手段來讚揚你。 – Claudia

回答

2

沒有,一般你不能。

查看Writing R Extensions手冊,尤其是其中的section on embedding R。然而,這是很繁瑣的。這就是爲什麼你應該更多地關注RInside。是的,我有偏見。

+0

嘿德克!從我所看到的,RInside很棒,但我還沒有看到任何文檔指出可以在iOS和Android中使用RInside(通過NDK)。你是否說這是可能的,當然,沒有越獄的設備? – Claudia

+3

簡而言之,**已經**是一個包含R的Android世界中的應用程序,它被稱爲[R控制檯](https://play.google.com/store/apps/details?id=com。 appsopensource.R&HL = ES)。並且b)對於iOS而言,你沒有任何機會,因爲Apple禁止使用構建R所需的工具,例如當前的'gcc' /'g ++'。 –

+0

是的,確切地說。這就是爲什麼我想知道R的C核心用法,這不一定需要R運行。我可能會錯誤地格式化問題。 – Claudia