r - 聚合数据框以获取均值标准误差时出错:“var 中的错误(if (is.vector(x) || is.factor(x))”
问题描述
我有一个数据集,我正在尝试汇总以查找 R 版本 3.6.0 中平均值 (SEM) 的平均值和标准误差。我已经对三种基因型(类型)进行了测量,因此我需要获取类型 1、2 和 3 的平均值和 SEM。
SEM 函数在这里定义:
sem <- function(x) sd(x)/sqrt(length(x))
这是数据:
data <- data.frame(
type = c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 2, 2, 1, 3, 3, 3, 1, 3,
2, 2, 1, 1, 1, 2, 2, 1, 3, 3, 3, 3, 2, 1, 2, 1),
measurement = c(12, 14, 13, 13, 13, 12, 12, 14, 14, 12, 13, 14, 15, 14, 15,
13, 15, 14, 15, 13, 13, 13, 13, 13, 13, 13, 12, 15, 12, 12, 15,
13, 14, 13, 14, 12)
)
聚合平均值工作得很好:
mean <- aggregate(data, by=list(data$type), mean)
但是,当我尝试聚合 SEM 时,出现错误。我之前已经能够使用这个确切的代码成功实现这一点。我能做些什么来解决这个问题?我已经多次重启了 R 会话;它只是不想工作。
sem <- aggregate(data, by=list(data$type), sem)
#Resulting error:
Error in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm = na.rm) :
Calling var(x) on a factor x is defunct.
Use something like 'all(duplicated(x)[-1L])' to test for a constant vector.
解决方案
推荐阅读
- context-free-grammar - 来自语言问题的上下文无关语法
- jquery - jquery 函数停止在 github 页面上工作
- python - 运行从 GitHub 下载的大脑提取的 Python 项目
- php - 完全不相关的异常,同时保存多对多关系学说和php
- stock - 表盘的 Fitbit 库存数据
- oracle - 存储过程 - 无法显示未找到数据消息
- wix - WIX 使用引导程序安装所需的软件。错误“提取失败”
- c# - ASP.NET Core 3.1 URL 参数返回不正确的参数值
- azure - 无法从 azure 应用服务连接到 management.azure.com
- python - 有人可以解释这种在 Python 中查找集合的所有子集的逻辑吗?