gpt4 book ai didi

r - 缺少 S3 方法但更高级别的功能有效

转载 作者:行者123 更新时间:2023-12-04 12:14:34 25 4
gpt4 key购买 nike

我试图确定 grobWidth 应用于 gtable 对象的问题(参见 gtable:::widthDetails.gtable);当大小被指定为单位总和时会出现问题(unit.arithmetic 对象),

library(grid)
u = unit(1,"npc") + unit(2,"mm")
grid:::absolute.units(u)
#Error in UseMethod("absolute.units") :
# no applicable method for 'absolute.units' applied to an object of class #"c('unit.arithmetic', 'unit')"

值得注意的是,absolute.size 有效,即使它调用了 grid:::absolute.units

grid::absolute.size(u)
#[1] 1null+2mm

这怎么可能?

最佳答案

好的,浏览grid source code ,我发现方法定义的,

grid:::absolute.units.unit.arithmetic(u)

但它没有导出。所以 absolute.size() 知道它,因为它在包命名空间中,但从外部(例如 gtable)调用它失败。

关于r - 缺少 S3 方法但更高级别的功能有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31485460/

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