Я потратил один день в поисках этого ответа, и я почти сдался.На самом деле, я действительно представляю, что это довольно простая ситуация, но я буду рад любой помощи.
Допустим, У меня есть два набора данных , первый - получить все ID всех студентов
library(tidyverse)
library(psych)
ds_of_students <- data.frame(id=(1:4), school=c("public","private"))
Второй имеет все результаты теста.Допустим, каждый столбец является идентификатором .
ds_of_results <- structure(list(i1 = c(1, 2, 4, 4),
i2 = c(3, 3, 2, 2),
i3 = c(2, 3, 3, 5),
i4 = c(4, 1, 3, 2)),
class = c("tbl_df", "tbl",
"data.frame"), row.names = c(NA, -4L))
А теперь мне нужно сообщить таблицу идентификаторов учащихся, сгруппированных по школам, и их результаты (На самом деле, это альфа-результаты Кронбаха, что довольно часто встречается в психологии).
ds_of_students %>%
group_by(school) %>%
summarise(n=n(),
id = paste(id, collapse = ",")) %>%
mutate(item2=psych::alpha(ds_of_results[c(id)])$total[1])
У меня есть это сообщение
Error in mutate_impl(.data, dots) :
Evaluation error: Columns `2,4`, `1,3` not found.
Но когда я бегу традиционным способом, это работает
psych::alpha(ds_of_results[c(1,3)])$total[1]
Я пытался работать с пастой, noquote , gsub ans strcol
Пожалуйста, запустите этот код, чтобы получить воспроизводимые результаты,Большое спасибо!
library(tidyverse)
library(psych)
ds_of_students <- data.frame(id=(1:4), school=c("public","private"))
ds_of_results <- structure(list(i1 = c(1, 2, 4, 4),
i2 = c(3, 3, 2, 2),
i3 = c(2, 3, 3, 5),
i4 = c(4, 1, 3, 2)),
class = c("tbl_df", "tbl",
"data.frame"), row.names = c(NA, -4L))
ds_of_students %>%
group_by(school) %>%
summarise(n=n(),
id = paste(id, collapse = ",")) %>%
mutate(item2=psych::alpha(ds_of_results[c(id)])$total[1])
alpha(ds_of_results[c(1,3)])$total[1]
Мой желаемый результат - что-то вроде этого
И просто чтобы дать некоторую реальность моему вопросу, это настоящийнабор данных, где я должен вычислить альфа-элемент Кронбаха для элементов каждой группы.