ここでは、読めないベースRを使用します。コードを読みやすくするためにdplyrパイプを使用している場合は、同様group/summarise
data.frame(id = unique(exdf$id),
dv = cbind(lapply(split(exdf, exdf$id),
function(x) unlist(x$dv))))
id dv
1 1 3, 5, 6, 4, 7, 4, 2, 1, 6, 5, 5, 8, 5
2 2 2, 8, 8, 6, 6, 1, 1, 7, 7, 4, 4, 7, 5, 5, 2, 3, 6, 4
3 3 2, 6, 5, 6, 3, 3, 8, 6, 6, 1
4 4 7, 4, 6, 8, 3, 4, 2, 4, 5, 5, 3, 4, 5, 2
5 5 4, 7, 8, 2, 6, 2, 6, 3, 5, 8, 6, 3, 4, 2, 1, 3, 2, 3
6 6 4, 1, 7, 1, 8, 6, 4, 7, 8, 4, 1, 3
7 7 7, 3, 4, 7, 3, 3, 4, 3, 6, 7, 7, 4
8 8 4, 2, 7, 6, 8, 7, 4, 8, 4, 4, 2, 8, 6, 6
9 9 1, 6, 4, 7, 6, 8, 4, 6, 4, 3, 4, 5, 2, 2, 5, 8, 3, 2, 8
10 10 5, 5, 7, 1, 4, 2, 6, 1, 2, 2, 1, 1, 6, 8, 8, 2, 7, 6
を使用する可能性があり、私たちは「集計」を使用しての死ん設定されている場合、あなたは文字に数値のリストを変更することにより、以下のことを行うことができます。正規表現を使ってそれらの数字を抽出します。
exdf$dv <- as.character(exdf$dv)
aggregate(
formula=dv~id,
data=exdf,
FUN = function(x) regmatches(paste0(x, collapse = ""),
gregexpr('[0-9]', paste0(x, collapse = ""))))
id dv
1 1 3, 5, 6, 4, 7, 4, 2, 1, 6, 5, 5, 8, 5
2 2 2, 8, 8, 6, 6, 1, 1, 7, 7, 4, 4, 7, 5, 5, 2, 3, 6, 4
3 3 2, 6, 5, 6, 3, 3, 8, 6, 6, 1
4 4 7, 4, 6, 8, 3, 4, 2, 4, 5, 5, 3, 4, 5, 2
5 5 4, 7, 8, 2, 6, 2, 6, 3, 5, 8, 6, 3, 4, 2, 1, 3, 2, 3
6 6 4, 1, 7, 1, 8, 6, 4, 7, 8, 4, 1, 3
7 7 7, 3, 4, 7, 3, 3, 4, 3, 6, 7, 7, 4
8 8 4, 2, 7, 6, 8, 7, 4, 8, 4, 4, 2, 8, 6, 6
9 9 1, 6, 4, 7, 6, 8, 4, 6, 4, 3, 4, 5, 2, 2, 5, 8, 3, 2, 8
10 10 5, 5, 7, 1, 4, 2, 6, 1, 2, 2, 1, 1, 6, 8, 8, 2, 7, 6