我正在尝试运行一个多变量模型,其中我使用 lm 函数在 r 中有 3 个 dv 而没有 iv
我有这个 sas 代码:
proc glm;
model a b c = / nouni;
repeated shoe / mean nouni;
run;
我正在尝试在 r 中复制这一点,但遇到了很多麻烦。我这样指定模型:mod <- lm(cbind(a, b, c) ~ 1, data = track_wi), and then used tried to use the Manova function in the "car" package, for example: Manova(mod). The problem is the output, the df r is outputting seem wrong. I have 6 participants and 3 variables, so df denominator should be 4, and df numerator should be 2. But R is outputting 3 for both df numerator and df denominator
以下是示例数据
track <- data.frame(ID = c(1, 2, 3, 4, 5, 6),
a = c(20, 12, 18, 16, 21, 15),
b = c(18, 14, 19, 13, 19, 15),
c = c(10, 8, 14, 10, 15, 11))
Puedes usar la funcion manova,Esto te dará una salida 类似于 lo que obtendrías del procedimiento proc glm en SAS。
# Carga el paquete car para la función Manova
library(car)
# Crea tus datos de muestra
track <- data.frame(ID = c(1, 2, 3, 4, 5, 6),
a = c(20, 12, 18, 16, 21, 15),
b = c(18, 14, 19, 13, 19, 15),
c = c(10, 8, 14, 10, 15, 11))
# Ajusta el modelo multivariado
mod <- manova(cbind(a, b, c) ~ 1, data = track)
# Muestra el resumen del modelo
summary(mod)
o si lo quebuscas es extraer específicamente los grados de libertad del modelo, puedes hacerlo de la siguiente manera:
# Extrae los grados de libertad
df_residual <- mod$stats$Residual[1] # Grados de libertad residuales
df_total <- mod$stats$Totals[1] # Grados de libertad totales
# Muestra los grados de libertad
df_residual
df_total