查找工作表所有列的标准差、标准误差和摘要,并将信息存储在 R 语言的新表中

问题描述 投票:0回答:1
calculate_stats <- function(x) { 
non_missing_values <- na.omit(x)
if (length(non_missing_values) >= 1) {
sd_val <- sd(non_missing_values, na.rm = TRUE)
se_val <- sd_val / sqrt(length(non_missing_values))
} else {
  sd_val <- NA
  se_val <- NA
}
return(c(sd_val, se_val))
}
result <- t(sapply(df, calculate_stats))
print(result)

此代码导致此警告消息: 警告信息: 在 var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm = na.rm) 中: 通过强制引入的 NA 我真的很无知,请帮帮我。

我想知道我的错误原因,并且很乐意学习并再次尝试。

r dataframe function na standard-deviation
1个回答
0
投票

Rui 的评论应该有帮助!

我的 2 美分:我假设你想学习 R,但如果你只对 SD 和 SE 感兴趣,你也可以运行:

# uncomment next line if psych is not installed
# install.packages("psych")
library(psych)
describe(df) 

这将为您提供不同的统计数据,包括 sd 和 se。此外,它还显示哪些变量不是数字(带有星号 * 的变量);在计算统计数据之前,它们会被转换为数字。如果您只想显示 sd 和 se,只需随后过滤列即可。

© www.soinside.com 2019 - 2024. All rights reserved.