Відповіді:
У R ви можете це зробити за допомогою rep
команди:
tab <- data.frame(value=c(1, 2, 3, 4, 5), freq=c(2, 1, 4, 2, 1))
vec <- rep(tab$value, tab$freq)
Це дає наступний результат:
> tab
value freq
1 1 2
2 2 1
3 3 4
4 4 2
5 5 1
> vec
[1] 1 1 2 3 3 3 3 4 4 5
Детальніше див. Файл довідки для rep
команди, ввівши ?rep
.
Очевидно, в R це простіше.
У Excel я би використовував стовпець-помічник (якщо значення знаходиться в A1):
value freq help
1 1 2 =REPT(A2 & ", ",B2)
2 2 1 =C1 & REPT(A3 & ", ",B3)
3 3 4 (drag or copy from upper cell)
4 4 2 (drag or copy from upper cell)
5 5 1 (drag or copy from upper cell)
=LEFT(C6, LEN(C6)-1)
У С7 ви маєте свій результат
vec <- sample(1:5, 20, TRUE)
творецьtable()
:rep(names(table(vec)), table(vec))
. Потім результат потрібно перетворити,as.numeric()
якщо категорії є фактичними числами.