Как создать цикл, который изменяет часть имени столбца в кадре данных - PullRequest
0 голосов
/ 04 июля 2019

Я пытаюсь найти альфу Кронбаха для данных обследования, содержащих ряд многоэлементных мер. Вместо того, чтобы вручную записывать каждую отдельную многоэлементную меру, похоже, что цикл должен управлять гораздо более эффективно, но ему нужно изменить только часть имени столбца в соответствии с номером вопроса.

Основной идеей, которая сейчас у меня в голове, будет ...

    for (N in 4:22) {
      ytqN <- data.frame(YT_Data$QNa, YT_Data$QNb, YT_Data$QNc)

    alpha(ytqN)
    }

Затем цикл будет создавать новые кадры данных для каждого показателя из нескольких элементов и запускать Альфу Кронбаха по ходу дела.

Это не работает, хотя. (

    ytq4 <- data.frame(YT_Data$Q4a, YT_Data$Q4b, YT_Data$Q4c)

    alpha(ytq4)

    ytq5 <- data.frame(YT_Data$Q5a, YT_Data$Q5b, YT_Data$Q5c)

    alpha(ytq5)

    ytq6 <- data.frame(YT_Data$Q6a, YT_Data$Q6b, YT_Data$Q6c)

    alpha(ytq6)

    ytq7 <- data.frame(YT_Data$Q7a, YT_Data$Q7b, YT_Data$Q7c)

    alpha(ytq7)

    ytq8 <- data.frame(YT_Data$Q8a, YT_Data$Q8b, YT_Data$Q8c)

    alpha(ytq8)

    ytq9 <- data.frame(YT_Data$Q9a, YT_Data$Q9b, YT_Data$Q9c)

    alpha(ytq9)

    ytq10 <- data.frame(YT_Data$Q10a, YT_Data$Q10b, YT_Data$Q10c)

    alpha(ytq10)

    ytq11 <- data.frame(YT_Data$Q11a, YT_Data$Q11b, YT_Data$Q11c)

    alpha(ytq11)

    ytq12 <- data.frame(YT_Data$Q12a, YT_Data$Q12b, YT_Data$Q12c)

    alpha(ytq12)

    ytq13 <- data.frame(YT_Data$Q13a, YT_Data$Q13b, YT_Data$Q13c)

    alpha(ytq13)

    ytq14 <- data.frame(YT_Data$Q14a, YT_Data$Q14b, YT_Data$Q14c)

    alpha(ytq14)

    ytq15 <- data.frame(YT_Data$Q15a, YT_Data$Q15b, YT_Data$Q15c)

    alpha(ytq15)

    ytq16 <- data.frame(YT_Data$Q16a, YT_Data$Q16b, YT_Data$Q16c)

    alpha(ytq16)

    ytq17 <- data.frame(YT_Data$Q17a, YT_Data$Q17b, YT_Data$Q17c)

    alpha(ytq17)

    ytq18 <- data.frame(YT_Data$Q18a, YT_Data$Q18b, YT_Data$Q18c)

    alpha(ytq18)

    ytq19 <- data.frame(8 - YT_Data$Q19a, YT_Data$Q19b, YT_Data$Q19c)     
    # Reverse code Q19a

    alpha(ytq19)

    ytq20 <- data.frame(YT_Data$Q20a, YT_Data$Q20b, YT_Data$Q20c)

    alpha(ytq20)

    ytq21 <- data.frame(YT_Data$Q21a, YT_Data$Q21b, YT_Data$Q21c)

    alpha(ytq21)

    ytq22 <- data.frame(YT_Data$Q22a, YT_Data$Q22b, YT_Data$Q22c)

    alpha(ytq22)

Желаемым результатом будет один выходной файл, содержащий все Альфы Кронбаха для многоэлементных мер для вопросов 4-22 в наборе данных, над которым я сейчас работаю, выполняемый с помощью одного куска кода, вместо того, чтобы переходить от вопроса к вопрос.

1 Ответ

1 голос
/ 04 июля 2019

Проще помочь, если вы включите свои данные, но я думаю, это должно сработать:

alpha_list = list()
for(N in 4:22){

  ytq = data.frame(YT_Data[paste0("Q",N,"a")],
                        YT_Data[paste0("Q",N,"b")],
                        YT_Data[paste0("Q",N,"c")])

  alpha_list[[N]] = alpha(ytq)
}

Мы используем paste0() для создания имен столбцов во время цикла на N. alpha_list будет список с результатами, полученными alpha()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...