Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.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 是否在rpy2中省略prcomp()中的NA值?_Python_R_Numpy_Rpy2 - Fatal编程技术网

Python 是否在rpy2中省略prcomp()中的NA值?

Python 是否在rpy2中省略prcomp()中的NA值?,python,r,numpy,rpy2,Python,R,Numpy,Rpy2,最后三个prcomp()调用导致以下错误: import numpy import rpy2 from rpy2 import robjects import rpy2.robjects.numpy2ri from rpy2.robjects.packages import importr stats = importr('stats') r = robjects.r rpy2.robjects.numpy2ri.activate() a = numpy.array( [ [1, 5, num

最后三个prcomp()调用导致以下错误:

import numpy
import rpy2
from rpy2 import robjects
import rpy2.robjects.numpy2ri
from rpy2.robjects.packages import importr
stats = importr('stats')
r = robjects.r
rpy2.robjects.numpy2ri.activate()

a = numpy.array( [ [1, 5, numpy.nan, 4, 5], [2, 6, 8, 7, 8] ] )
b = numpy.array( [ [1, 5, 8, 4, 5], [2, 6, 8, 7, 8] ] )

std = r.sd( a[0], **{'na.rm': 'TRUE'} )              # works fine
pca = stats.prcomp( b )                              # works fine
pca = stats.prcomp( a )                              # error
pca = stats.prcomp( a, **{'na.rm': 'TRUE'} )         # error
pca = stats.prcomp( a, **{'na.action': 'na.omit'} )  # error
我在谷歌上搜索了很多,不知道如何正确使用na.action(或其他方法)通过rpy2处理prcomp()中的na值。我希望这只是一个语法问题

谢谢您的帮助。

na.action必须是函数,而不是带有函数名的字符串。 以下可能会起到作用:

Error in svd(x, nu = 0) : infinite or missing values in 'x'
请注意,NA!=楠。从你的例子来看:

pca = stats.prcomp( a, **{'na.action': stats.na_omit} )

谢谢你的回复。这种语法给了我和以前一样的错误,我尝试了一些变体,但没有成功。还有其他想法吗?
ar = robjects.vectors.Matrix(a)

print(ar)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    5  NaN    4    5
[2,]    2    6    8    7    8