使用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
返回(一个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/