r-s3

    8熱度

    2回答

    定製dplyr方法我有定製summary(),print()方法具有特定類的對象包。該軟件包還使用美妙的dplyr軟件包進行數據操作 - 我希望我的用戶能夠編寫同時使用我的軟件包和dplyr的腳本。 的一個障礙,它已被他人here和here注意的是,dplyr動詞不保留自定義類 - 這意味着一個ungroup命令可以剝奪他們的自定義類的我data.frames,從而搞砸方法派出summary等 哈

    0熱度

    1回答

    我正在研究腳本的集合,並使用s3類和方法來使事情保持一點清潔。 該類結構有三個級別。 級別1:data.frame 級別2:sample_report OR fix_report 級別3:stim_report 我想要寫一個函數,只需要類stim_report的數據幀,然後將根據stim_report是從sample_report繼承還是從fix_report繼承調度不同的方法。 很顯然,我可以做

    4熱度

    1回答

    在我回答我的問題之前,有一段序言,請和我一起! 對於我正在研發的R包,我希望儘可能簡化用戶對partially apply函數的內聯。我有使用[]運算符來調用我的部分應用程序函數的想法,我已經命名爲「partialApplication」。我的目標是實現是這樣的: dnorm[mean = 3](1:10) # Which would be exactly equivalent to: dno

    3熱度

    2回答

    與我閱讀的Hadley's advice on building S3 objects一致,我使用了一個輔助函數,一個構造函數和一個驗證函數。一個簡單的可重複的例子: test_object <- function(x, y, z) { new_test_object(x, y, z) } new_test_object <- function(x, y, z) { st

    4熱度

    1回答

    我有下面的代碼片段: y <- 1 g <- function(x) { y <- 2 UseMethod("g") } g.numeric <- function(x) y g(10) # [1] 2 我不明白,爲什麼有可能在g.numeric <- function(x) y訪問y。根據我的理解,y的範圍正好在通用(g <- ...)的定義範圍內。任何人都可以

    0熱度

    1回答

    我嘗試編寫一個函數,在該函數中我可以拋出不定數量的對象並獲取該對象的數據類型列表。這是學習S3 Generics的一項個人任務。 我迄今所做的是: myTypes <- function(x, ...) { dots <- list(...) return (as.list(apply(dots, 1, myType))) } myType <- function(x){

    1熱度

    1回答

    我有一個S3類,並且我正在設法解決如何爲它設置打印功能。 這部分很好。 print.webglobe <- function(wg, ...){ "it worked!" } 但是,如果我在它上面運行devtools::check(),我得到以下不祥的消息: checking S3 generic/method consistency ... WARNING print:

    0熱度

    1回答

    我定義了一個新的功能work_with_myS3是應該與我的新S3類myS3工作: work_with_myS3 = function (x) { UseMethod("work_with_myS3", x) } work_with_myS3.myS3 = function(x) { some code } 當我在我的正常R對話(我使用RStudio)來源這一點,它

    3熱度

    4回答

    我是R中的面向對象編程的新手,並且很難與正確編寫修改對象的函數編寫。 這個例子的工作原理: store1 <- list( apples=3, pears=4, fruits=7 ) class(store1) <- "fruitstore" print.fruitstore <- function(x) { paste(x$apples, "apple

    2熱度

    1回答

    我寫一庫名爲「數據」的S3級的工作,我需要分配子集運營商,[.Data 在相關的R檔,我有: `[.Data` <- function(x, condition) { ## body of function } 安裝該庫時沒有問題,但在將其附加到交互式R會話中時,找不到函數[.Data。如果我只是將上面的R文件中的代碼複製並粘貼到終端中,則該函數將被定義並按預期工作。 此外,如果我