R 如何通过保留其他值将数据帧中的少数行值移到前一行?

R 如何通过保留其他值将数据帧中的少数行值移到前一行?,r,R,我在一个变量上使用distinct,在另一个变量上使用group_。现在,我有了自使用group_by和distinct之后被复制的行。现在我需要将几个列值移到前一行,并删除重复的行。请看给出的示例 我在固定柱上又试了一次。但它不保留第4列和第6列的值 155 B01 C21 NA 154 NA Fixation 366 156 B01 C21 1 B 154 NA Fixation 366 210 B02 C21 NA 53

我在一个变量上使用distinct,在另一个变量上使用group_。现在,我有了自使用group_by和distinct之后被复制的行。现在我需要将几个列值移到前一行,并删除重复的行。请看给出的示例

我在固定柱上又试了一次。但它不保留第4列和第6列的值

155 B01 C21 NA          154 NA  Fixation    366 
156 B01 C21 1   B       154 NA  Fixation    366
210 B02 C21     NA      53  NA  Fixation    566
211 B02 C21 1   NumPad6 53  NA  NA          NA
预期产量

155 B01 C21 1       B   154 NA  Fixation    366
210 B02 C21 1   NumPad6 53  NA  Fixation    566 

请注意,我用NAs替换了原始表中缺少的值

我刚刚注意到您的行长度不相等-第1行第5列和第3行第4列中缺少一些内容。那里应该有什么?它们只是空的牢房。我要在空单元格中添加NA值。是的,我就是这么做的。所以我下面的解决方案应该有效。我在dplyr管道中使用了铅。它将列移动了一行,并允许我以后使用distinct。然而,你的解决方案给了我一个好主意。
156 B01 C21 1   B   154 - delete this row from the df--
211 B02 C21 1   NumPad6 53  - delete this row from the df-- 

require(dplyr)
df %>% select(-V1,-V7) %>% #V7 is all NAs, so I need to remove it. V1 is the row-number
  group_by(V2,V3) %>% 
  summarize_all(~unique(.[!is.na(.)]))

# A tibble: 2 x 7
# Groups:   V2 [2]
  V2    V3       V4 V5          V6 V8          V9
  <chr> <chr> <int> <chr>    <int> <chr>    <int>
1 B01   C21       1 B          154 Fixation   366
2 B02   C21       1 NumPad64    53 Fixation   566