如何根据列中存在的名称分隔数据?

How to separate the data based on names present in a column?

我有一个看起来像这样的数据框。

df <- data.frame(names = c("Ram","Siddhharth","Nithin","Aashrit","Bragadish","Sridhar"),
                 house = c("A", "B", "A", "B", "A", "B"))

我想创建一个新的数据框,根据他们所在的房子重新排列。

预期输出

house_A   house_B
1 Ram       Siddhharth
2 Nithin    Aashrit
3 Bragadish Sridhar 

我怎样才能做到这一点?非常感谢。

您可以使用 tidyr:

df %>%
  pivot_wider(names_from="house", names_prefix="house_", values_from="names", values_fn=list) %>%
  unnest(cols=everything())

这个returns

# A tibble: 3 x 2
  house_A   house_B   
  <chr>     <chr>     
1 Ram       Siddhharth
2 Nithin    Aashrit   
3 Bragadish Sridhar