gpt4 book ai didi

r - S3调度 `rbind`和 `cbind`

转载 作者:行者123 更新时间:2023-12-03 22:29:50 24 4
gpt4 key购买 nike

我正在尝试写一个 rbind特定类的方法。这是一个简单的例子,它不起作用(至少对我来说):

rbind.character <- function(...) {
do.call("paste", list(...))
}

进入这个函数后,我似乎可以确认这是一个 R 知道的有效方法:
> methods("rbind")
[1] rbind.character rbind.data.frame rbind.rootogram* rbind.zoo*
see '?methods' for accessing help and source code

但是,如果我尝试使用它,则无法识别:
> rbind("abc", "xyz")
[,1]
[1,] "abc"
[2,] "xyz"
> #### compared with ####
> rbind.character("abc", "xyz")
[1] "abc xyz"

帮助页面说调度是在内部执行的,如下所示:
  • 对于每个参数,我们从以下位置获取可能的类成员列表
    类属性。
  • 我们依次检查每个类,看看是否有适用的
    方法。
  • 如果我们找到一种适用的方法,我们会确保它与
    为先前参数确定的任何方法。如果是相同的,我们
    继续,否则我们会立即使用默认代码。

  • rbind("abc", "xyz") ,我相信所有这些标准都得到满足。是什么,我该如何解决?

    最佳答案

    attributes("abc")
    #NULL

    一个 character vector 没有 class 属性。我不认为 rbind 可以调度方法对于隐式类。

    关于r - S3调度 `rbind`和 `cbind`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34024585/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com