nycflights13数据集cor.test分析dep_delay与distance相关性报错求助
问题:nycflights13数据集出发延误与飞行距离的相关性检验(剔除异常值)
我需要基于nycflights13数据集,对dep_delay(出发延误)和distance(飞行距离)执行cor.test相关性检验,要求先剔除异常值,预期结果需包含t = -14.451, df = 326677, cor = -0.02527463这类信息。
已完成的异常值阈值计算
我通过分位数法确定了异常值阈值,代码如下:
delay_thresh = quantile(flights$dep_delay, p=c(0.003, 0.997), na.rm=T) dist_thresh = quantile(flights$distance,p=c(0.003, 0.997), na.rm=T) Q1a <- which(flights$dep_delay>delay_thresh | flights$dep_delay<delay_thresh) Q1b <- which(flights$distance>dist_thresh | flights$distance<dist_thresh) Q1b <- na.omit(Q1b) Q1a <- na.omit(Q1a)
执行cor.test时的报错情况
后续执行cor.test时多次报错,具体尝试及错误如下:
- 尝试写法1:
cor.test(flights$dep_delay ~ flights$distance)
报错信息:
Error in cor.test.formula(flights$dep_delay ~ flights$distance) :
'formula' missing or invalid
- 尝试写法2:
cor.test(formula = dep_delay~distance, flights)
报错信息:
Error in cor.test.default(formula = dep_delay ~ distance, flights) :
'x' must be a numeric vector
- 尝试写法3:
cor.test(delay_thresh, dist_thresh)
报错信息:
Error in cor.test.default(delay_thresh, dist_thresh) :
not enough finite observations
尝试索引法但结果不符合预期
我曾用索引法尝试得到结果,但并非剔除异常值后的预期结果:
> indices = union( + which(flights$dep_delay>delay_thresh[1] & flights$dep_delay<delay_thresh[2]), + which(flights$distance>dist_thresh[1] & flights$distance<dist_thresh[2])) > Q2 <- cor.test(flights$dep_delay[indices], flights$distance[indices]) > Q2 Pearson's product-moment correlation data: flights$dep_delay[indices] and flights$distance[indices] t = -13.897, df = 328459, p-value < 2.2e-16 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: -0.02765802 -0.02082235 sample estimates: cor -0.02424047
后续尝试其他方法仍报错,包括样本量不足、向量长度不匹配等,研究多日仍未解决,寻求帮助。
内容的提问来源于stack exchange,提问作者Kdoyle73
相关产品推荐
相关产品推荐

