2017-07-29 17 views
0

如何將R中保存爲RData的字符向量導入python列表?如何將R中保存爲RData的字符向量導入python列表?

例如,如果我已經R中保存的該字符向量:

x <- c("Hello", "world!") 
save (x, file = 'x.RData') 

然後裝載在python與rpy2如下:

from __future__ import print_function 
from rpy2.robjects import pandas2ri,r 
import rpy2.robjects as robjects 

def main(): 
    r['load']('x.RData') 
    variables = tuple(robjects.globalenv.keys()) 
    print('variables: {0}'.format(variables)) 
    x = robjects.globalenv['x'] 
    print('x: {0}'.format(x)) 
    print('type(x): {0}'.format(type(x))) 


if __name__ == "__main__": 
    main() 

它打印:

variables: ('x',) 
x: [1] "Hello" "world!" 
type(x): <class 'rpy2.robjects.vectors.StrVector'> 

我怎樣才能將它導入到Python列表?

回答

0

你可以簡單地用list()投它:

from __future__ import print_function 
from rpy2.robjects import pandas2ri,r 
import rpy2.robjects as robjects 

def main(): 
    r['load']('x.RData') 
    variables = tuple(robjects.globalenv.keys()) 
    print('variables: {0}'.format(variables)) 
    x = robjects.globalenv['x'] 
    print('x: {0}'.format(x)) 
    print('type(x): {0}'.format(type(x))) 
    print('list(x): {0}'.format(list(x))) 

if __name__ == "__main__": 
    main() 
相關問題