Gather multiple groups of columns in R [duplicate]

╄→尐↘猪︶ㄣ 提交于 2019-12-05 11:37:55

We can use melt from data.table which can take multiple measure columns.

library(data.table)
melt(setDT(wide), measure = patterns("\\d+$", "user.*ID$", "data$"),
   value.name = c("user", "user.ID", "user.data"))[,
    variable:= NULL][order(form.ID)]
#     form.ID entry.date user user.ID user.data
# 1:       1 2016-07-01  Joe      A1       foo
# 2:       1 2016-07-01 Jane      B1       bar
# 3:       2 2016-06-15  Sam      A2     lorem
# 4:       2 2016-06-15  Sue      B2     ipsum
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!