У меня есть таблица данных с различными числовыми и категориальными переменными для разных классов. Мне нужно преобразовать мои данные таким образом, чтобы в конце у меня был отдельный фрейм данных для каждой переменной, где в первом столбце есть каждое значение, которое было записано для этой переменной, а другие столбцы показывают процентное соотношение для каждого из классов каждое из этих значений имеет в своем наборе данных. Таким образом, каждый столбец предназначен для одного из классов и должен добавить до 100. Я подготовил примеры с функцией dput()
.
Как выглядят мои данные
structure(list(ï..class = structure(c(1L, 2L, 1L, 3L, 3L, 4L,
3L), .Label = c("A", "B", "C", "D"), class = "factor"), var01 = c(150L,
70L, 70L, 60L, 220L, 10L, 85L), var02 = c(50L, 30L, 50L, 30L,
120L, 30L, 35L), var03 = c(1L, 1L, 1L, 1L, 5L, 8L, 3L), var04 = c(1L,
0L, 1L, 0L, 0L, 1L, 0L), var05 = c(2L, 1L, 1L, 0L, 0L, 3L, 0L
)), class = "data.frame", row.names = c(NA, -7L))
Var01 , Var02 и Var03 являются числовыми и Var04 и Var05 категориальными в этом примере.
Как мне это нужно для каждой переменной
structure(list(ï..var01 = c(10L, 60L, 70L, 85L, 150L, 220L),
A = c(0, 0, 50, 0, 50, 0), B = c(0, 0, 100, 0, 0, 0), C = c(0,
33.34, 0, 33.34, 0, 33.34), D = c(100, 0, 0, 0, 0, 0)), class = "data.frame",
row.names = c(NA, -6L))
Я пытался сделать это самостоятельно несколькими способами, но, учитывая, что я не очень хорошо разбираюсь в R, мне не удалось ни в малейшей степени.
Приветствия
Alex