使用rmagic
,在读取 a particular file 时,%R
和 %%R
之间的行为不一致(而不是其他人):为什么
%%R
usda = read.csv("USDA.csv")
工作的同时
%R usda = read.csv("USDA.csv")
失败
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-64-01ec3b4742c8> in <module>()
----> 1 get_ipython().magic(u'R usda = read.csv("USDA.csv")')
...
/Library/Python/2.7/site-packages/numpy/core/numeric.pyc in asarray(a, dtype, order)
458
459 """
--> 460 return array(a, dtype, copy=False, order=order)
461
462 def asanyarray(a, dtype=None, order=None):
TypeError: __float__ returned non-float (type rpy2.rinterface.NAIntegerType)
同样,这只发生在 the linked file 上。 ,而不是我尝试过的任何其他人。
最佳答案
这是我以前见过的缺失值处理问题。每当您有缺失值时,它都应该发生。我不确定我们是否应该将其视为错误。但是%R -n usda = read.csv('USDA.csv')
使用 numpy
抑制返回(a array
-n
)将避免这个问题。
还应该注意,如果您 %Rpull usda
之后%R -n usda = read.csv('USDA.csv')
,您应该同样得到相同的异常。
如果你想在 python
之间来回传输数据和R
在这种情况下,请使用 pandas
读取它然后convert_to_r_dataframe
和convert_robject
我认为效果会更好。
关于python - 为什么 'rmagic' %R 在读取文件时会导致错误,而 %%R 不会?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22749489/