首页 > 解决方案 > 为 lm 选择列的某个区域

问题描述

我正在尝试从具有两列的数据框中构建几个线性回归模型,其中一列应该只包含该列的某个部分。我的数据(假设它被称为 df)有点像这样:

Year percentage_hesc_EU
2018 0,02
2017 0,03
2016 2,1
2015 0,4
2014 0,2
. 
.
.
1998 0,1

现在我有一个回归应该从 2018 年到 2011 年,一个回归应该从 2010 年到 1998 年

到目前为止,我已经完成了以下工作:

EU_hesc_Pre_BvG <- lm(percentage_hesc_EU ~ Year, data = df[df$Year <=2010,])
EU_hesc_Post_BvG <- lm(percentage_hesc_EU ~ Year, data = df[df$Year > 2010,])

这给了我两个我需要的回归。但现在我想制作一个从 2007 年到 2010 年的版本,但我不知道如何建模。我试过了:

EU_hesc_Pre_BvG <- lm(percentage_hesc_EU ~ Year, data = df[df$Year 2010:2007,])

和:

EU_hesc_Pre_BvG <- lm(percentage_hesc_EU ~ Year, data = df[df$Year 2007:2010,])

但都没有奏效。我对 R 有点陌生,但我非常感谢您的指导!

标签: r

解决方案


尝试以下两种方法之一:

df[df$Year >= 2007 & df$Year <= 2010,]
df %>% dplyr::filter(Year >= 2007, Year <= 2010)

推荐阅读