使用 sapply 时如何使用函数的参数?
How do I use arguments of a function when using sapply?
我有一个数据集,它是使用 gdata
包中的 cbindX
函数通过列绑定创建的。此函数允许我绑定具有不同行数的列。因此,当特定列中没有值时,会引入 NA
。现在,我想计算每列的标准偏差。我尝试使用
sapply(dataset,sd)
这 returns 是所有行都带有值的列的标准差,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)
在 apply 系列函数中,语法是 (data, fun, ...)。三个点是 "ellipsis",它们用于承载传递给应用函数的函数的参数。
我有一个数据集,它是使用 gdata
包中的 cbindX
函数通过列绑定创建的。此函数允许我绑定具有不同行数的列。因此,当特定列中没有值时,会引入 NA
。现在,我想计算每列的标准偏差。我尝试使用
sapply(dataset,sd)
这 returns 是所有行都带有值的列的标准差,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)
在 apply 系列函数中,语法是 (data, fun, ...)。三个点是 "ellipsis",它们用于承载传递给应用函数的函数的参数。