簡體   English   中英

在函數中使用dplyr過濾器

[英]Using dplyr filter in a function

我有以下功能:

library(dplyr)

filter <- function(aNumber) {

  x <- as.numeric(aNumber)

   # create df
    num <- c(2,3,4)
    tekst <- c("part1", "part2", "part3")
    df2 <- data.frame(num,tekst)

    #filter with parameter
    df2 <- filter(df, num == x)

}

如果我嘗試使用filter(2)運行,則會引發錯誤。 我得到:

 Error in filter(df, num == x) : unused argument (num == x)

關於我為什么會收到此錯誤的任何想法? 我不明白...

您調用了函數過濾器,因此我可以想象函數的最后一行是遞歸調用自身。 您可以將其替換為

df2 <- dplyr::filter(df, num == x)

無論如何,您可能應該重命名函數。 嘗試選擇與R(或您導入的包)中的函數名稱不沖突的函數名稱。

暫無
暫無

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

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