我想在回归模型中计算两个日期之间的差异作为因变量。这两个日期的内容存储在单独的列中 - 每年一个,一个月和一天。这些变量被归类为数字。我尝试做这项工作包括删除所有NA,然后将变量分类为日期来整理数据:
```{r}
movies2 <- na.omit(movies)
theater_year <- as_date(movies2$thtr_rel_year)
theater_month <- as_date(movies2$thtr_rel_month)
theater_day <- as_date(movies2$thtr_rel_day)
dvd_year <- as_date(movies2$dvd_rel_year)
dvd_month <- as_date(movies2$dvd_rel_month)
dvd_day <- as_date(movies2$dvd_rel_day)
```
然后在我的数据集中创建一个新列,它取两个日期之间的差异:
```{r}
moviesclean <- within(movies2, {datediff <- c(dvd_year, dvd_month, dvd_day) - c(theater_year, theater_month, theater_day)})
```
这会生成以下消息: 替换元素1有1857行来替换619行
当我设置并运行我的回归模型时:
```{r}
model1 <- lm(datediff ~ genre + title_type + critics_score + imdb_rating + best_pic_nom + best_pic_win, data = movies2)
```
我收到以下错误: model.frame.default中的错误(公式= datediff~流派+ title_type +:变量长度不同(找到&#39;流派&#39;)
看起来我的新列长度增加了三倍,因为我在一起添加了三列。我该如何避免这种情况?