【发布时间】:2020-06-04 17:30:28
【问题描述】:
我有一个带有二进制数字响应变量(0 或 1)和几个响应变量的 df。我正在尝试创建一个按类型(3 级变量)和步骤(7 级)分组的表。我想要每个步骤中每种类型的平均响应和标准偏差。输出表应该有 21 行,包含 4 个变量:type、step、mean 和 sd。
我的代码如下所示:
data <- data %>% group_by(step, type) %>% summarise(Response = mean(Response), dev = sd(Response))
输出表正确生成平均值,但返回所有 sd 值的 NA。我尝试使用 'na.rm=TRUE' 删除 NA 值,但原始 df 中没有任何响应。有什么想法吗?
【问题讨论】:
-
如果您只向
sd()输入一个值,它将返回NA。试试sd(1)。做个条件。如果只有一个值,则不计算 sd。
标签: r group-by dplyr summarize