如何在不使用内置 R 函数的情况下计算向量的 mean/sd?
How to calculate the mean/sd of a vector without using the in-built R function?
这一定是一个非常简单的修复,但我只是在努力弄清楚。我正在尝试编写一个函数,该函数将采用数字向量并计算其均值和另一个函数来计算 sd。这就是我现在拥有的:
calc_avg <- function(vec){
print(sum(vec)/length(vec))
}
list_d <- list(5,5)
calc_avg(list_d)
显示的错误是这样的:Error in sum(vec) : invalid 'type' (list) of argument
在我看来,函数非常简单,但出于某种原因,R 的 sum
函数无法识别 vec
变量。如果我只是正常定义它,它就可以正常工作。
任何帮助将不胜感激,是的,我 100% 是 R 的菜鸟。
谢谢。
它是一个list
,而sum
需要一个vector
。根据?sum
... - numeric or complex or logical vectors.
因此,unlist
将 list
转换为 vector
calc_avg(unlist(list_d))
#[1] 5
这一定是一个非常简单的修复,但我只是在努力弄清楚。我正在尝试编写一个函数,该函数将采用数字向量并计算其均值和另一个函数来计算 sd。这就是我现在拥有的:
calc_avg <- function(vec){
print(sum(vec)/length(vec))
}
list_d <- list(5,5)
calc_avg(list_d)
显示的错误是这样的:Error in sum(vec) : invalid 'type' (list) of argument
在我看来,函数非常简单,但出于某种原因,R 的 sum
函数无法识别 vec
变量。如果我只是正常定义它,它就可以正常工作。
任何帮助将不胜感激,是的,我 100% 是 R 的菜鸟。
谢谢。
它是一个list
,而sum
需要一个vector
。根据?sum
... - numeric or complex or logical vectors.
因此,unlist
将 list
转换为 vector
calc_avg(unlist(list_d))
#[1] 5