R transpose and group by

This can be achieved using dcast() from the data.table package:

library(data.table)
dcast(DT, Client ~ rowid(Client, prefix = "Smoke "), value.var = "Smoke")
#   Client Smoke 1 Smoke 2 Smoke 3
#1:     21       Y       Y       Y

Data

DT <- fread("Client   Smoke
            0021     Y
            0021     Y
            0021     Y")

Leave a Comment