[英]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.