Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将R对象转换为列表_Python_R_Matplotlib_Rpy2 - Fatal编程技术网

Python 将R对象转换为列表

Python 将R对象转换为列表,python,r,matplotlib,rpy2,Python,R,Matplotlib,Rpy2,我有一个从Python运行的脚本: from rpy2.robjects.packages import importr binom = importr('binom') from rpy2 import robjects robjects.r('''library(binom) p = seq(0,1,.001) coverage = binom.coverage(p, 25, method="asymptotic")$coverage ''') R_P = robjects.r['p']

我有一个从Python运行的脚本:

from rpy2.robjects.packages import importr
binom = importr('binom')
from rpy2 import robjects

robjects.r('''library(binom)
p = seq(0,1,.001)
coverage = binom.coverage(p, 25, method="asymptotic")$coverage
''')

R_P = robjects.r['p']
R_C = robjects.r['coverage']
我可以使用plt.scatter查看结果:

from rpy2.robjects.packages import importr
binom = importr('binom')
from rpy2 import robjects

robjects.r('''library(binom)
p = seq(0,1,.001)
coverage = binom.coverage(p, 25, method="asymptotic")$coverage
''')

R_P = robjects.r['p']
R_C = robjects.r['coverage']

但当我尝试绘制plt.plot时,我得到:

AttributeError: 'FloatVector' object has no attribute 'find'
R_C是一个:

R object with classes: ('numeric',) mapped to:
<FloatVector - Python:0x0000002CA644E448 / R:0x0000002CA14A6D38>
[1.000000, 0.024702, 0.048818, 0.072360, ..., 0.072360, 0.048818, 0.024702, 1.000000]
类('numeric',)映射到以下对象的
R对象:
[1.000000, 0.024702, 0.048818, 0.072360, ..., 0.072360, 0.048818, 0.024702, 1.000000]

要获得R_C与R_p的直线图,我需要将其转换为列表吗?请告诉我该怎么做?

谢谢JohanC,这很有效

plt.plot(list(R_P), list(R_C))


谢谢约翰,这很有效

plt.plot(list(R_P), list(R_C))


您如何调用
plt.plot
?当我尝试
plt.plot(R\u C)
时,它是有效的。有趣的是@Jason,是的,plt.plot(R\u C)有效,但plt.plot(R\u P,R\u C)无效。我想用散点图把它们相对地画出来,就像散点图一样。也许是
plt.plot(list(rup),list(ruc))
?@R.Cox,因为某种原因,当我运行
plt.plot(rup,ruc)
时,它在我这边起作用。截图:。R_P和R_C是
FloatVector
s并不重要,因为它们实现了
\uuu getitem\uuuu
并像序列一样工作。此外,
list
s也没有属性
find
。如何调用
plt.plot
?当我尝试
plt.plot(R\u C)
时,它是有效的。有趣的是@Jason,是的,plt.plot(R\u C)有效,但plt.plot(R\u P,R\u C)无效。我想用散点图把它们相对地画出来,就像散点图一样。也许是
plt.plot(list(rup),list(ruc))
?@R.Cox,因为某种原因,当我运行
plt.plot(rup,ruc)
时,它在我这边起作用。截图:。R_P和R_C是
FloatVector
s并不重要,因为它们实现了
\uuu getitem\uuuu
并像序列一样工作。此外,
list
s也没有属性
find