`rbind.data.frame`的文档在哪里?

时间:2015-07-23 14:48:43

标签: r documentation

我试图找到函数rbind.data.frame的文档,以了解以下函数调用的作用(在https://stackoverflow.com/a/4227483/3999893中找到):

rbind.data.frame(list(a=1, b=2), list(a=3, b=5), list(a=5, b=15))

但使用?rbind.data.frame仅为rbind提供了不透明的帮助。

rbind.data.frame是某种方法引导,还是根本没有该方法的文档?

2 个答案:

答案 0 :(得分:4)

rbind是通用的,但在您输入时没有显示rbind.default方法:

 methods(rbind)

相反,当您在控制台上键入rbind时,您会看到:

function (..., deparse.level = 1) 
.Internal(rbind(deparse.level, ...))
<bytecode: 0x100e55f20>
<environment: namespace:base>

因此,仅对pkg:base中的数据帧实现rbind是不正确的。相反,会调用.Internal(rbind(deparse.level, ...)。然后.Internal(rbind(..))函数的逻辑取代了通常的S3逻辑,因此可以检查参数列表中的任何项是否为data.frames。如果没有,那么它继续处理原子矢量和矩阵。例如,在我的机器上,我看到列出了4种方法:

methods(rbind)
[1] rbind.data.frame rbind.matrix.csr rbind.Predict*  
[4] rbind.zoo*  

rbind.data.frame仅适用于数据帧也是不精确的。更精确的是在?rbind的详细信息部分的第二句中使用该语言。并实际阅读约书亚现在提醒我们所有人阅读的帮助页面的其余部分。

缺少rbind.default与处理S3泛型函数的常用方法不同。我检查过的大多数S3-generics都有*.default种方法。有些像plot.default这样的人甚至有自己的帮助页面。

最后,我不知道为什么rownames会像原始问题那样出现。

答案 1 :(得分:1)

rbind是一个通用函数,rbind.data.frame是适用于数据框的此函数的版本。

如果您对数据框执行了rbind,那么您将rbind.data.frame

据推测,不同的对象可以应用不同的rbind函数。

更多信息:

http://www.burns-stat.com/pages/Tutor/R_inferno.pdf - 看看第7章的开头

认为您只看到rbind的帮助的原因是rbind目前仅针对基础R中的数据框实现,因此rbind == { {1}}。