ギザギザのエントリを持つリスト ベクトルを含むデータ フレームがあります。
df = data.frame(x = rep(c(1,2), 2), y = rep(c("a", "b"), each = 2))
L = list()
for (each in round(runif(4, 1,5))) L = c(L, list(1:each))
df$L = L
例えば、
x y L
1 a 1
2 a 1, 2, 3, 4
1 b 1, 2, 3
2 b 1, 2, 3
y の値全体で、各 x の L の値をカウントするテーブルを作成するにはどうすればよいですか? したがって、この例では、次のような出力になります。
1 2 3 4
X
1 2 1 1 0
2 2 2 2 1
私はいくつかの運が良かった
tablist = function(L) table(unlist(L))
tapply(df$L, df$x, tablist)
生成する、
$`1`
1 2 3
2 1 1
$`2`
1 2 3 4
2 2 2 1
ただし、ここから単一のテーブルに移動する方法がわかりません。また、このアプローチでは、大きなデータ フレームに対して手に負えないほどの時間がかかり始める可能性があるのではないかと疑い始めています。ご意見/ご提案は大歓迎です!