R+;jupyter tapply()函数给出`错误:下标超出范围`
我在一个R-Jupyter笔记本中有一个最小的代码:R+;jupyter tapply()函数给出`错误:下标超出范围`,r,jupyter,jupyter-notebook,jupyter-irkernel,R,Jupyter,Jupyter Notebook,Jupyter Irkernel,我在一个R-Jupyter笔记本中有一个最小的代码: In[1]: a = c( 1, 2, 3, 4, 5, 6 ) b = c( 1, 1, 1, 2, 3, 0 ) print( tapply( a, b, mean ) ) 这将产生以下输出: 0 1 2 3 6 2 4 5 如果我只是使用以下命令运行单元格: In[2]: tapply( a, b, mean ) 我得到这个输出(按顺序): 有趣的是,以下内容不会引发错误: In
In[1]:
a = c( 1, 2, 3, 4, 5, 6 )
b = c( 1, 1, 1, 2, 3, 0 )
print( tapply( a, b, mean ) )
这将产生以下输出:
0 1 2 3
6 2 4 5
如果我只是使用以下命令运行单元格:
In[2]:
tapply( a, b, mean )
我得到这个输出(按顺序):
有趣的是,以下内容不会引发错误:
In[3]:
t( tapply( a, b, mean ) )
Out[3]:
0 1 2 3
6 2 4 5
为什么会出现这个错误 为什么要垂直打印 使用
print()
时,为什么不将标签取出[]
它似乎与Jupyter在使用noprint()
函数调用时如何打印对象的值有关。。。注意,计算本身是正确的,所以这个错误看起来并不有害,只是很奇怪:P
注意:在bash和rStudio中都不会出现错误,只有在Jupyter中才会出现错误。我没有收到任何错误。在一个新的R会话中尝试?这里也没有错误。在bash和rstudio中再次测试,没有给出错误。它只在jupyter笔记本中给出错误消息。更新了这个问题,只是出于好奇,因为计算是正确的。我可以确认这确实发生在jupyter笔记本中,但在Rstudio中没有。有什么想法吗?
In[3]:
t( tapply( a, b, mean ) )
Out[3]:
0 1 2 3
6 2 4 5