簡體   English   中英

使用 sapply 時如何使用函數的參數?

[英]How do I use arguments of a function when using sapply?

我有一個數據集,它是我使用gdata包中的cbindX函數通過列綁定創建的。 此功能允許我綁定具有不同行數的列。 因此,當特定列中沒有值時,會引入NA 現在,我想計算每列的標准偏差。 我嘗試使用

sapply(dataset,sd)

這將返回所有行都帶有值的列的標准偏差,以及行數較少的列的NA 我嘗試將na.rm參數與sd函數一起使用:

sapply(dataset,sd(na.rm=T))

並收到錯誤消息

Error in is.data.frame(x) : argument "x" is missing, with no default

例如:

  firstcol <- matrix(c(1:150),ncol=1)
    secondcol <- matrix(c(1:300),ncol=1)
     thirdcol <- matrix(c(1:450),ncol=1)
      fourthcol <- matrix(c(1:600),ncol=1)
        fifthcol <- matrix(c(1:30),ncol=1)
         sixthcol <- matrix(c(1:30),ncol=1)
          seventhcol <- matrix(c(1:30),ncol=1)      


library(gdata)
  allcolscomb <- data.frame(cbindX   (firstcol,secondcol,thirdcol,fourthcol,fifthcol,sixthcol,seventhcol))      

 names(allcolscomb) <- c("1stcol","2ndcol","3rdcol","4thcol","5thcol","6thcol","7thcol")      


        sapply(allcolscomb,sd)

      sapply(allcolscomb,sd(na.rm=T))

如何使用sapply函數計算標准偏差?

你應該閱讀?sapply手冊。 下面是帶有一些額外參數的 sapply 示例:

sapply(allcolscomb, sd, na.rm=TRUE)
sapply(allcolscomb, function(x) sd(x, na.rm=TRUE))

嘗試這個。

sapply(allcolscomb,sd, na.rm = TRUE)

在應用系列函數中,語法是 (data, fun, ...)。 這三個點是“省略號”,它們用於承載傳遞給應用函數的函數的參數。

暫無
暫無

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

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