簡體   English   中英

使用 R,如何從諸如“S3”之類的方法命名空間中刪除 function?

[英]Using R, how to delist a function from a methods namespace such as `S3`?

R 中的plot函數與 S3method 相關S3method 默認,

> methods("plot")
 [1] plot.acf*           plot.data.frame*    plot.decomposed.ts* plot.default       
 [5] plot.dendrogram*    plot.density*       plot.ecdf           plot.factor*       
 [9] plot.formula*       plot.function       plot.hclust*        plot.histogram*    
[13] plot.HoltWinters*   plot.isoreg*        plot.lm*            plot.medpolish*    
[17] plot.mlm*           plot.ppr*           plot.prcomp*        plot.princomp*     
[21] plot.profile.nls*   plot.raster*        plot.spec*          plot.stepfun       
[25] plot.stl*           plot.table*         plot.ts             plot.tskernel*     
[29] plot.TukeyHSD*     


我可以在控制台手動定義一個新的 function :

plot.tukey = function(x) {}

它會根據其命名約定自動列在方法(“繪圖”)中:

> methods("plot")
 [1] plot.acf*           plot.data.frame*    plot.decomposed.ts* plot.default       
 [5] plot.dendrogram*    plot.density*       plot.ecdf           plot.factor*       
 [9] plot.formula*       plot.function       plot.hclust*        plot.histogram*    
[13] plot.HoltWinters*   plot.isoreg*        plot.lm*            plot.medpolish*    
[17] plot.mlm*           plot.ppr*           plot.prcomp*        plot.princomp*     
[21] plot.profile.nls*   plot.raster*        plot.spec*          plot.stepfun       
[25] plot.stl*           plot.table*         plot.ts             plot.tskernel*     
[29] plot.tukey          plot.TukeyHSD*     
see '?methods' for accessing help and source code

如何從默認S3命名空間中刪除或unregister delist

也就是說,我希望將 plot.tukey 聲明為 function,但不附加到S3命名空間。 是否有unUseMethod功能?

看起來你在 R 的內心深處掙扎,你的動機是想要定義

plot.tukey = function(x) {}

這將出現在methods("plot")調用而不是說

plot_tukey = function(x) {}

哪個不會?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM