R:rbind 按 ID 排序的两个数据帧

R: rbind two dataframes ordered by ID

所以我在通过行绑定原始数据集的两个“子集”来创建新数据集时遇到了一些麻烦。我已经实现了以下代码,并且运行良好。但是,它将第二个“子集”的行添加到第一个“子集”的行下方,并且不考虑 ID。

rbind(df %>% 
  group_by(ID) %>% 
  filter(Var1 >= 
  ((max(Var1)/100)*95)),
  V_Dem_tracker_autocracies %>%
  group_by(ID) %>%
  filter(first_equal_to(Var2, 1)))

所以我得到的数据结构如下:

ID   Var2
1     0
1     0
1     0
2     0
2     0
2     0
1     1
2     1

但是我想要这样:

ID   Var2
1     0
1     0
1     0
1     1
2     0
2     0
2     0
2     1

有没有简单的解决方案?感谢所有回答!

您可以将 arrange() 附加到管道以包装新的绑定数据框。

rbind(df %>% 
  group_by(ID) %>% 
  filter(Var1 >= ((max(Var1)/100)*95)),
  V_Dem_tracker_autocracies %>%
  group_by(ID) %>%
  filter(first_equal_to(Var2, 1))) %>%
  arrange(ID)

如果顺序不对,可以使用desc(ID)。