R使用的是Revolution R Open 3.2.3_64bit,这是Revolution R现在已经被微软收购了,改为MRO。MRO和CRAN的R没有什么区别,只是改进了多进程并行计算的性能,比原生的R确实有一定的性能提升。当然需要MRO网站上对应的数学计算库Math Library,这个在Revolution R Open的下载界面有。
# creat an R function
robjects.r('''
f <- function(r){pi * r}
''')
robjects.r['f'](3)
# internal function in R
robjects.r['ls']()
# another internal function
l = robjects.r['letters']
len(l)
robjects.r['paste'](l, collapse = '-')
# an alternative way of getting 'paste' function in R
# eval the R code
coder = 'paste(%s, collapse = "-")' % (l.r_repr())
robjects.r(coder)
6.pandas调用R具体参考 pandas官方文档–rpy2 / R interface
7.pandas和R的函数对比具体参考 pandas官方文档–Comparison with R / R libraries
列出了实现相同功能的pandas和R的代码,很有启发性。
同时也说明,有想法,用什么工具实现都无所谓,纠结要选python还是R确实是舍本逐末了。如果时间不够,精通其中的一门语言,另一门语言能够掌握简单的使用,也就够了。
以后有事时间再详细写写pandas调用R的部分,以它们之间数据来回传输的原理和注意事项。
我把下载的包放到了d盘的programdata
R使用的是Revolution R Open 3.2.3_64bit,这是Revolution R现在已经被微软收购了,改为MRO。MRO和CRAN的R没有什么区别,只是改进了多进程并行计算的性能,比原生的R确实有一定的性能提升。当然需要MRO网站上对应的数学计算库Math Library,这个在Revolution R Open的下载界面有。
# creat an R function
robjects.r('''
f <- function(r){pi * r}
''')
robjects.r['f'](3)
# internal function in R
robjects.r['ls']()
# another internal function
l = robjects.r['letters']
len(l)
robjects.r['paste'](l, collapse = '-')
# an alternative way of getting 'paste' function in R
# eval the R code
coder = 'paste(%s, collapse = "-")' % (l.r_repr())
robjects.r(coder)
6.pandas调用R具体参考 pandas官方文档–rpy2 / R interface
7.pandas和R的函数对比具体参考 pandas官方文档–Comparison with R / R libraries
列出了实现相同功能的pandas和R的代码,很有启发性。
同时也说明,有想法,用什么工具实现都无所谓,纠结要选python还是R确实是舍本逐末了。如果时间不够,精通其中的一门语言,另一门语言能够掌握简单的使用,也就够了。
以后有事时间再详细写写pandas调用R的部分,以它们之间数据来回传输的原理和注意事项。
我把下载的包放到了d盘的programdata