Я пытаюсь получить матрицу средних значений (чтобы в конечном итоге построить временной ряд) для отдельной переменной, зацикленной в течение 14 дней (в каждый уникальный день, уникальный пользователь мог бы поместить максимум 5 значений для указанной переменной).
Я пытался создать цикл с отдельными временными значениями, но продолжаю запускать либо «сценарий вне границ» (несмотря на достаточное количество столбцов), либо «аргумент не является числовым или логическим: возвращая ошибки NA '.
Совершенно новый для R, так что это сильно меня напрягает.
В нем 41 участник с до 5 записанными значениями по 8 различным переменным (у некоторых меньше,эти значения записываются как пропущенные)
mat_varday <- matrix(nrow=nrow(as.data.frame(unique(data$ID))), ncol=14, NA)
for(i in 1:41) { # loop through participants
temp <- filter(data, ID == unique(data$ID)[i])
for(j in 1:nrow(as.data.frame(unique(data$dayvar)))) { # loop through days
temp1 <- filter(temp, dayvar == unique(data$dayvar)[j])
mat_varday[i,j] <- mean(temp1[,2], na.rm = TRUE)
}
}
# plot time series
plot(colMeans(mat_varday, na.rm = TRUE), type="b", ylim=c(0,5),
xlab="days", ylab="Total mean of boredom for all people")
Я ожидаю получить матрицу со средней оценкой переменной 2 на пользователя в день.