【发布时间】:2020-07-06 14:21:40
【问题描述】:
我有一个如下所示的数据集:
```
idpers <- c(1,1,1,2,2,3,3,3,3,4,4,4,5)
wave <- c(2008,2009,2012,2008,2011,2005,2006,2007,2008, 2008, 2009, 2010, 2011)
df.short <- as.data.frame(idpers,wave)
```
这是基于小组调查的多次波次(同一个人 (idpers) 在不同年份接受采访(波次))。我想要做的是只保留在 (2005-08) 之前和 2009 年 (2010-15) 之后的人,但实际上并不重要。
所以基本上是这样的:
```
idpers <- c(1,1,1,2,2,4,4,4)
wave <- c(2008,2009,2012,2008,2011,2008, 2009, 2010)
df.desired <- as.data.frame(idpers, wave)
```
我尝试了不同的方法,例如:
```
Keep only those in waves pre and post?
df %>%
group_by(idpers)%>%
select(wave %in% c(2005|2006|2007|2008) & wave %in% c(2010|2011|2012))
#and get the following:
Error in select(., wave %in% c(2005 | 2006 | 2007 | 2008) & wave %in% : unused argument (wave %in% c(2005 | 2006 | 2007 | 2008) & wave %in% c(2010 | 2011 | 2012))
```
非常感谢所有帮助。谢谢!
【问题讨论】:
标签: r dplyr data.table tidyverse