Вычислить z-счет двумя группами

У меня есть набор данных повторных измерений, над которым я работаю. Данные выглядят так:

ID=c('X1', 'X1', 'X1', 'X1', 'X2', 'X2', 'X2', 'X3', 'X3', 'X3', 'X3', 'X4', 'X4', 'X4', 'X4', 'X5', 'X5', 'X5', 'X6', 'X6', 'X6', 'X6')
Diag=c('Con', 'Con', 'Con', 'Con', 'Con', 'Con', 'Con', 'AD', 'AD', 'AD', 'AD', 'AD', 'AD', 'AD', 'AD', 'FD', 'FD', 'FD', 'FD', 'FD','FD', 'FD')
Score=c(10, 9, 8, 8, 10, 9, 9, 5, 4, 3, 3, 5, 4, 3, 2, 5, 4, 3, 6, 5, 4, 3)
Time=c(1, 2, 3, 4, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 1, 2, 3, 4)

dat <- data.frame(ID, Time, Diag, Score)

где ID= идентификатор участника, diag= диагноз, время = повторная оценка, оценка = оценка

Я хочу рассчитать z-баллы для AD и FD групповых баллов по отношению к "Con" групповым баллам (контрольная группа) и согласно "Time". Например, z-оценки для групп AD и FD во время 2 должны быть вычислены относительно контрольных групп во время 2 (игнорируя отсутствующие переменные)

Единственный способ, которым я могу придумать, - это разбить фрейм данных на разные "времена", вычислить z-показатели и объединить фрейм данных, но это довольно болезненно и занимает много времени (и иногда дает мне АН, когда я пытался слить фрейм данных).

Есть ли лучший способ сделать это?

0 ответов

Другие вопросы по тегам