Применить cohen.d к нескольким столбцам - PullRequest
1 голос
/ 02 мая 2019

У меня есть набор данных ответов на вопросы опроса.Я хотел бы оценить размеры эффекта Коэна d для каждого ответа, используя cohen.d из effsize.

Вот первые 6 строк моего фрейма данных:

`structure(list(id = c("HO1001", "HO1001", "HO1002", "HO1002", 
"HO1003", "HO1003"), time = structure(c(1L, 2L, 1L, 2L, 1L, 2L
), .Label = c("0", "1"), class = "factor"), grit.distract = c(1, 
1, 3, 2, 1, 2), grit.setback = c(5, 4, 3, 3, 4, 4), grit.obsess = c(3, 
2, 2, 2, 3, 2), grit.work = c(4, 5, 3, 4, 5, 5), grit.goal = c(2, 
3, 2, 1, 4, 4), grit.focus = c(3, 3, 3, 1, 2, 3), grit.finish = c(4, 
4, 4, 4, 4, 3), grit.diligent = c(4, 4, 3, 4, 5, 4), grit.mean = c(3.25, 
3.25, 2.875, 2.625, 3.5, 3.375)), class = c("tbl_df", "tbl", 
"data.frame"), row.names = c(NA, -6L))`

Я успешно преобразовалdf в широкоформатный формат для использования effsize в итоговой статистике, т.е. среднее / общее, как указано ниже:

`structure(list(id = c("HO1001", "HO1002", "HO1003", "HO1004", 
"HO1005", "HO1006"), pre = c(3.25, 2.875, 3.5, 2.25, NA, NA), 
    post = c(3.25, 2.625, 3.375, 2.5, 2.75, 2.875), change = c(0, 
    -0.25, -0.125, 0.25, NA, NA), highconf = structure(c(2L, 
    1L, 2L, 1L, NA, NA), .Label = c("0", "1"), class = "factor")), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -6L)`

`cohen.d(grit.tot$pre, grit.tot$post, na.rm = T)`

Что я хотел бы сделать, это рассчитать размеры эффекта для каждого элемента опроса, т.е..setback и т. д. между временем 0 и временем 1 (пожалуйста, не комментируйте мои статистические методы).Учитывая, что у меня гораздо больше таких фреймов данных, и я не хочу делать их все по отдельности, я считаю, что мне следует использовать function и цикл, такой как apply, но я не уверен, как это построить.

1 Ответ

1 голос
/ 02 мая 2019

Если я понял ваш вопрос, это может помочь.Если ваш фрейм данных из первой части ваших вопросов хранится как dt, при выполнении следующего должно быть указано значение cohen d для каждого элемента опроса.

lapply(dt[c(-1,-2)],function(x) cohen.d(x ~ dt$time))

dt[c(-1,-2)] удаляет столбец идентификатора и столбец временипоскольку вы не хотите запускать тест cohen d на них.

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