按ID将R中的多列合并为一列

按ID将R中的多列合并为一列,r,group-by,associations,R,Group By,Associations,数据集如下所示: 输出应如下所示 我试过以下几件事 总和%group\U byA%>%SUMMARESEB=sumB 这也不起作用,因为R无法处理因子的总和 我还使用了tidyr软件包中的以下示例,但毫无用处: df%>%组由A、B%>% 海西,B%>% 扩展ID,A,B,C,D%>% 解组%>% 请为上述示例提供解决方案或学习材料。我们可以使用gather 如果空白为NA,则可以删除集合本身中的元素 我们可以使用收集 如果空白为NA,则可以删除集合本身中的元素 我们也可以使用整形2 我们也可以

数据集如下所示:

输出应如下所示

我试过以下几件事

总和%group\U byA%>%SUMMARESEB=sumB 这也不起作用,因为R无法处理因子的总和

我还使用了tidyr软件包中的以下示例,但毫无用处: df%>%组由A、B%>% 海西,B%>% 扩展ID,A,B,C,D%>% 解组%>%

请为上述示例提供解决方案或学习材料。

我们可以使用gather

如果空白为NA,则可以删除集合本身中的元素

我们可以使用收集

如果空白为NA,则可以删除集合本身中的元素

我们也可以使用整形2

我们也可以使用整形2

library(tidyverse)
gather(df1, key, val, - ID) %>%
    filter(val != "") %>%
    select(-key) %>%
    arrange(ID)
gather(df1, key, val, -ID, na.rm = TRUE) %>%
    select(-key) %>%
    arrange(ID)
reshape(df, idvar = "ID", varying = list(2:5), direction = "long") %>%
  arrange(ID) %>% select(-time)