У меня есть набор данных, по которым респондентам задавался ряд вопросов, каждый с пятью вариантами ответов (например, 1:5). Учитывая эти пять вариантов, у меня есть ключ оценки для каждого вопроса, где некоторые ответы дают полные баллы (например, 2), другие — полбалла (1), а третьи — отсутствие баллов (0). Таким образом, кадр данных представляет собой n (людей) x k (вопросов), а ключ оценки представляет собой матрицу k (вопросов) x m (ответов).
Что я пытаюсь сделать, так это программно создать новый набор данных с переоцененными элементами. Пробный набор данных:
x <- sample(c(1:5), 50, replace = TRUE)
y <- sample(c(1:5), 50, replace = TRUE)
z <- sample(c(1:5), 50, replace = TRUE)
dat <- data.frame(cbind(x,y,z)) # 3 items, 50 observations (5 options per item)
head(dat)
x y z
1 3 1 2
2 2 1 3
3 5 3 4
4 1 4 5
5 1 3 4
6 4 5 4
# Each option is scored 0, 1, or 2:
key <- matrix(sample(c(0,0,1,1,2), size = 15, replace = TRUE), ncol=5)
key
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 2
[2,] 2 1 1 1 2
[3,] 2 2 1 1 2
data.frame(cbind(.))
, а не толькоdata.frame(.)
. Первое — плохая практика, особенно если связываемые векторы относятся к разным типам. - person A5C1D2H2I1M1N2O1R2T1   schedule 02.10.2014