如何计算双精度向量均值及R按月份统计航班平均到达延误
问题解答
1. 双精度(double)类型向量的均值计算
双精度向量属于数值型向量的一种,计算逻辑为有效元素总和除以有效元素数量,计算时需要排除NA、NaN、无穷值等无效元素。
以R语言为例,double类型向量可以直接调用内置的mean()函数计算均值,设置na.rm = TRUE参数可以自动忽略向量中的缺失值,示例如下:
# 构造示例double向量 test_double_vec <- c(3.14, 5.67, 9.21, 4.88, NA) # 计算均值 mean(test_double_vec, na.rm = TRUE)
2. R语言按月统计平均到达延误的解决方法
你当前的代码仅完成了字段选择、按月分组、过滤到达延误缺失值的步骤,没有执行聚合计算的逻辑,运行报错的常见原因有两类:一是没有加载dplyr包,管道符、分组、聚合函数都属于dplyr的功能范畴;二是计算均值时没有指定缺失值处理参数。
完整可运行的代码如下:
# 未安装依赖包先运行下一行注释代码 # install.packages(c("dplyr", "nycflights13")) library(dplyr) library(nycflights13) flights <- nycflights13::flights # 统计每月平均到达延误 flights %>% select(arr_delay, month) %>% group_by(month) %>% summarise(avg_arr_delay = mean(arr_delay, na.rm = TRUE))
运行上述代码即可得到每个月对应的平均到达延误计算结果,summarise()函数会自动按group_by()指定的分组维度做聚合计算,na.rm = TRUE参数会自动忽略arr_delay中的缺失值,不需要提前做filter过滤。
内容的提问来源于stack exchange,提问作者Michael Visconti
相关产品推荐
相关产品推荐

