在Stata中,可以使用bysort命令按照panel_key进行排序,然后使用egen命令创建一个新变量_N,并保留_N等于2的观察值。下面是Stata代码示例:
bysort panel_key (t) : egen _N = total(_N)
keep if _N == 2
在R中,可以使用dplyr包来实现相同的操作。下面是R代码示例:
library(dplyr)
df <- df %>%
arrange(panel_key, t) %>%
group_by(panel_key) %>%
mutate(_N = n()) %>%
filter(_N == 2) %>%
select(-_N)
请替换df为你的数据框的名称。以上代码首先按照panel_key和t列对数据框进行排序,然后使用group_by函数按照panel_key进行分组。接下来,使用mutate函数创建一个新变量_N,它表示每个组中的观察值数量。然后,使用filter函数保留_N等于2的观察值,并使用select函数删除_N变量。最后,将结果保存回df数据框中。
这样,你就可以在R中按照panel_key进行排序并保留_N等于2的观察值。