Я хотел бы посчитать, сколько каждого значения появляется в столбце. Значения, которые могут встречаться в этом столбце, находятся в диапазоне от 1 до 15, поэтому я хотел бы, чтобы код возвращал вектор из 15 значений с 0, если значение не встречается в столбце, и, например, 5, если значение встречается. Поскольку мне приходилось много раз запускать код, я не хотел использовать для l oop просмотр каждого значения и подсчет его, поэтому я использовал функцию table (). Прямо сейчас я попробовал это:
N_k = rep(0,K) #make a zero vector for the number of people in a cluster
table = as.data.frame(table(c(2,1,1,6,2,12,15,2,3,3,4,5,8,2))) #count number of people per cluster
for (z in unique(table[,1])) {N_k[z] = table[table[,1]==z,2]}
Однако по какой-то причине он возвращает:
> N_k
1 2 3 4 5 6 8 12 15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 2 1 1 1 1 1 1
Я хотел бы, чтобы он вернулся:
> N_k
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2 4 2 1 1 1 0 1 0 0 0 1 0 0 1