r-s3

    6熱度

    1回答

    我在寫S3方法,我想與任何 R對象一起使用,包括S4對象。 我不明白的第一件事是S4類似乎不是從S4基類派生的,所以給出f <- function(x) UseMethod("f")我不能只聲明f.S4調度方法並讓它拾取所有S4對象。 (雖然如果unclass是S4對象,但看起來好像是S4類。)我應該如何管理調度? 看來,處理這些S4對象的最簡單方法是將它們轉換爲列表。不幸的是,as.list會拋

    2熱度

    2回答

    我在包R.methodsS3中使用setMethodS3來創建S3方法。假設我有兩個類,class Parent和class Child(R.oo對象)。 class Child繼承自class Parent。兩者都有方法MyMethod()。如何從子女的MyMethod()調用超類MyMethod()(父母的MyMethod)?我想這$的MyMethod(),但它呼籲孩子的MyMethod()

    8熱度

    1回答

    人們常說,data.frame繼承自list,這對於訪問data.frame列($,sapply等)有許多常見的範例是有意義的。 然而"list"是項目中沒有一個data.frame對象的類列表返回: dat <- data.frame(x=runif(100),y=runif(100),z=runif(100),g=as.factor(rep(letters[1:10],10))) > cla

    13熱度

    2回答

    定義S3級「吧」的對象和打印方法的對象名稱: foo=list(1) class(foo) <- c("bar") print.bar <- function(x,...){ cat("print.bar says this was ",deparse(substitute(x)),"\n") } 現在打印(富)做到這一點: > print(foo) print.bar sa

    5熱度

    3回答

    我想查看與某個對象類關聯的所有方法的列表。例如。如果我看到某個模型適合例程返回類「foo」的對象,我想知道該包(或任何其他包)是否已定義方法,如simulate.foo,update.foo,coef.foo,print.foo等。我該怎麼做這個? 我知道methods解決逆問題(假設S3級),但顯然我不想通過了爲了找出如果我的課感興趣有一個定義的print函數中的每個對象進行搜索。我可能在這裏忘

    22熱度

    1回答

    我爲一個使用S3類的函數創建了一個roxygen文件。我roxygenize,然後建立和檢查,並得到一個警告: ​​ 所以我花時間學習: http://cran.r-project.org/doc/manuals/R-exts.html#Generic-functions-and-methods & https://github.com/hadley/devtools/wiki/S3 但我想不出我

    2熱度

    2回答

    我想知道R中的S3類,如果有一個選項來定義默認輸出元素並保留其餘元素類型的隱藏。舉個例子,假設我們已經計算某些事情並報告他們回來爲S3級,這樣的玩具功能: toy <- function(x){ resA <- mean(x) resB <- length(x) output <- list(resA=resA, resB=resB, x=x) class

    3熱度

    1回答

    Here,最常見的答案描述了一種在S3和S4對象上進行方法分派的好方法。但是,這種方式只適用於兩種方法具有相同簽名的情況。 有沒有辦法爲median創建一個帶有不同簽名的S4方法? 例如,下面不工作: setGeneric("median") median.Foo <- function(arg1, arg2, ...){} setMethod("median", "Foo", median.

    1熱度

    1回答

    我已經定義R中的以下內容: plotWaterfall <- function(x, ...) UseMethod("plotWaterfall") plotWaterfall.default <- function(x, ...) {print("Default method does nothing")} plotWaterfall.vector <- function(x, ...)

    3熱度

    1回答

    我想重寫默認predict.lm功能由於錯誤: library(datasets) # Just a regular linear regression fit <- lm(mpg~disp+hp+wt+drat, data=mtcars) termplot(fit, terms=2, se=T) 給出了這樣的錯誤: Error in predict.lm(model, type = "