使用summarize()函数时,标准差将会出现NA

问题描述 投票:2回答:1

我正在尝试计算RStudio中发现的出生体重数据集(birthwt)的描述性统计数据。但是,我只对几个变量感兴趣:ageftvptllwt

这是我到目前为止的代码:

library(MASS)
library(dplyr)
data("birthwt")

grouped <- group_by(birthwt, age, ftv, ptl, lwt)

summarise(grouped, 
          mean = mean(bwt),
          median = median(bwt),
          SD = sd(bwt))

它给了我一张漂亮的印刷表,但只有有限数量的SD被填充,其余的则说NA。我无法解决为什么或如何解决它!

r dplyr standard-deviation
1个回答
1
投票

某些组的行数为1。

grouped %>% 
     summarise(n = n())
# A tibble: 179 x 5
# Groups: age, ftv, ptl [?]
#     age   ftv   ptl   lwt     n
#   <int> <int> <int> <int> <int>
# 1    14     0     0   135     1
# 2    14     0     1   101     1
# 3    14     2     0   100     1
# 4    15     0     0    98     1
# 5    15     0     0   110     1
# 6    15     0     0   115     1
# 7    16     0     0   110     1
# 8    16     0     0   112     1
# 9    16     0     0   135     2
#10    16     1     0    95     1

根据?sd

长度为一的向量的标准偏差是NA。

这导致NAsd值,其中只有一个元素

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