Это то, что reshape
(переход от «длинного» формата к «широкому» формату). Другие люди предпочитают пакет reshape
, но оба подойдут для этого простого случая.
Вот решение с базовой функцией:
tmp<-data.frame(user=c("G1", "G1", "G2", "G2", "G3"), field=c("F1", "F2", "F1", "F2", "F1"), txt=c("A", "B", "C", "D", "E"))
reshape(data=tmp, direction="wide", timevar="field", idvar="user")