Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
dplyr软件包中的多条件线性回归_R_Dplyr_Regression_Coefficients - Fatal编程技术网

dplyr软件包中的多条件线性回归

dplyr软件包中的多条件线性回归,r,dplyr,regression,coefficients,R,Dplyr,Regression,Coefficients,假设我有20辆车,每辆车测试了10次,在每次测试中,根据行驶路线距离定义了多个路段 对于每个车辆id+测试id+路段组合,我想得到高度与路线距离回归的简单线性回归斜率 使用R中的dplyr包,我认为类似的东西应该可以工作: dataset <- dataset %>% group_by (veh_id, test_id, segment) %>% do(data.frame(mod = coef(lm(height ~ distance,data = .))[2])) %>

假设我有20辆车,每辆车测试了10次,在每次测试中,根据行驶路线距离定义了多个路段

对于每个车辆id+测试id+路段组合,我想得到高度与路线距离回归的简单线性回归斜率

使用R中的
dplyr
包,我认为类似的东西应该可以工作:

dataset <- dataset %>%
group_by (veh_id, test_id, segment) %>%
do(data.frame(mod = coef(lm(height ~ distance,data = .))[2])) %>%
left_join(dataset,.)
dataset%
分组依据(车辆id、测试id、区段)%>%
do(data.frame(mod=coef(lm(高度~距离,数据=))[2]))%>%
左联合(数据集,)
但错误报告如下:

lm.拟合误差(x,y,偏移=偏移,singular.ok=singular.ok,…) :0(非NA)例

我回顾了我的数据,有一些NAs用于“高度”变量


有没有办法通过排除高度上的NAs来执行代码?

避免在
lm()
函数中排除
NA
s。相反,好的做法是将清洁步骤与建模步骤分开。例如,您可以使用
tidyr
包中的
drop\u na()
函数从数据集中删除包含缺失值的行。下面我以内置的
空气质量
数据集为例:

library(tidyr)
dataset <- airquality %>% drop_na()

> nrow(airquality) - nrow(dataset)
[1] 42
library(tidyr)
数据集%drop_na()
>nrow(空气质量)-nrow(数据集)
[1] 42

在lm函数中添加
na.action=na.exclude