我是R的新手,正在尝试为数据帧设置子集,但是我不知道如何根据需要进行操作。具体来说,我有一个从1987年到2017年的面板数据框架,但是在2005、2007、2013和2017年观察到了我需要的一些信息。由于我可以假设这些信息随时间是恒定的,因此只要观察到一个人就足够了至少在这些年之一。 如何至少在一组2005、2009、2013、2017年中观察到条件的情况下,才能对数据框进行子集划分,以使所有年份的所有个体都如此? 谢谢。
想法如下:
pid year
101 1984
101 1985
101 1986
101 1987
102 1984
102 1985
102 1986
102 1987
..
102 2005
102 2006
103 1990
103 1991
103 1992
103 1993
...
103 2005
我想要为pid保留所有信息和年份,这些pid至少在2005或2009或2013或2017年具有观测值。
答案 0 :(得分:0)
以R为底的猜测:
yearOk <- which(dat$year %in% c(2005, 2007, 2013, 2017)) #row with year ok
idOK <- unique(dat$id[yearOk]) #get the ids that are in these years
datOk <- dat[which(dat$id %in% idOk),] #subset dat based on the wanted ids
答案 1 :(得分:0)
这是从底数R开始使用$selected
的一种方法-
ave