【发布时间】:2021-08-27 12:11:57
【问题描述】:
我对 r 中的子集有疑问。我有一个大型数据集,我只想保留公司,如果他们有 2000 年到 2019 年的观察结果。因此,如果公司有例如 2000 年到 2005 年之间的观察结果,则必须删除该公司。
fiscal_year <- c(2000, 2001, 2002, 2003, 2004, 2005, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019)
fkey <- c(1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
df <- data.frame(fiscal_year, fkey)
我想要的输出是只保留公司 2 的 20 个公司年的观察结果。到目前为止,我在 R 中尝试了几个命令:
df <- df %>%
group_by(fkey) %>%
subset(fiscal_year==2000 & fiscal_year==2001 & fiscal_year==2002 & fiscal_year==2003 & fiscal_year==2004 & fiscal_year==2005 & fiscal_year==2006 & fiscal_year==2007 & fiscal_year==2008 & fiscal_year==2009 & fiscal_year==2010 & fiscal_year==2011 & fiscal_year==2012 & fiscal_year==2013 & fiscal_year==2014 & fiscal_year==2015 & fiscal_year==2016 & fiscal_year==2017 & fiscal_year==2018 & fiscal_year==2019)
但是这个命令会删除所有的公司。
df <- df %>%
group_by(fkey) %>%
subset(fiscal_year>=2000 & fiscal_year<=2019)
但是这个命令会保留所有的公司。
所以,我不知道如何更改它的工作命令!
希望一切都清楚,如果没有,请发表评论!
【问题讨论】:
-
请注意格式化How do I format my posts using Markdown or HTML 的约定。这次我替你做了。