首页 > 解决方案 > 合并 R 中的非重复行

问题描述

我用谷歌搜索了一堆,可以在任何地方找到答案,但也许我无法用几句话很好地解释它。

Coffee|     |Steve

Coffee| Cup |     |

Turkey| Fork|     |

      |Fork |Mike

我想获取这四行中的数据并将其合并为两行以便显示。

Coffee|Cup|Steve

Turkey|Fork|Mike

我会很感激任何帮助。我是全新的代码。从长远来看,我认为它在工作中是有益的和更快的。

谢谢

标签: rdata-management

解决方案


使用library(tidyverse)并对您的数据集做出大胆的假设:

df <- data.frame(food = c("Coffee","Coffee","Turkey", NA), 
             utensil = c(NA, "Cup", "Fork", "Fork"), 
             name = c("Steve", NA, NA, "Mike"))
df <- df %>%
  group_by(food) %>%
  arrange(utensil) %>%
  fill(utensil) %>%
  group_by(utensil) %>%
  arrange(food) %>%
  fill(food) %>%
  drop_na()

推荐阅读