如何调试R中的代码,以便使用Dplyr按组获取变量的标准偏差?

如何调试R中的代码,以便使用Dplyr按组获取变量的标准偏差?,r,dplyr,R,Dplyr,使用nycflights13软件包,我将回答一个初学者的小问题。我想得到承运人的到达延迟和到达延迟的标准偏差。我真的不知道为什么我的代码不起作用。它生成包含两列的汇总表:carrier和我的新变量sd_arr_delay,但是sd_arr_delay的所有值都是NA 在总结之前,我已经检查了表,因此过滤器和group_by函数似乎正在工作 library(tidyverse) library(nycflights13) flights <- nycflights13::flights fl

使用nycflights13软件包,我将回答一个初学者的小问题。我想得到承运人的到达延迟和到达延迟的标准偏差。我真的不知道为什么我的代码不起作用。它生成包含两列的汇总表:carrier和我的新变量sd_arr_delay,但是sd_arr_delay的所有值都是NA

在总结之前,我已经检查了表,因此过滤器和group_by函数似乎正在工作

library(tidyverse)
library(nycflights13)
flights <- nycflights13::flights
flights_2c <- flights %>% 
   filter(origin == "JFK" & dest == "BOS") %>%
   group_by(carrier) %>% 
   summarise(sd_arr = sd(as.numeric(arr_delay)))
没有错误消息,只是一列填写了NA。

请执行以下操作:

flights_2c <- flights %>% 
   filter(origin == "JFK" & dest == "BOS") %>%
   group_by(carrier) %>% 
   summarise(sd_arr = sd(as.numeric(arr_delay),na.rm = TRUE))
arr_delay列中有NA值,这意味着所有sd计算都将返回NA,除非您在进行计算时告诉sd将其删除

在很多R命令中,如mean、median等,请注意na.rm参数。如果输入中可能有na值,则可能需要使用该参数。

可能需要在sd内部使用na.rm=TRUE。