¿Existe una función que pueda extraer dos o más columnas de un objeto coeftest
? Esto es fácil un objeto coeftest
a la vez, pero ¿puedo hacer lo mismo en una lista (que no sea un bucle for()
)?Extraer columnas de la lista de objetos coeftest
> # meaningless data
> temp <- data.frame(a = rnorm(100, mean = 5), b = rnorm(100, mean = 1),
+ c = 1:100)
> formulas <- list(a ~ b, a ~ c)
> models <- lapply(formulas, lm, data = temp)
> library(lmtest)
> cts <- lapply(models, coeftest)
> # easy to extract columns one object at a time
> cts[[1]][, 1:2]
Estimate Std. Error
(Intercept) 5.0314196 0.1333705
b -0.1039264 0.0987044
> # but more difficult algorithmically
> # either one column
> lapply(cts, "[[", 1)
[[1]]
[1] 5.03142
[[2]]
[1] 5.312007
> # or two
> lapply(cts, "[[", 1:2)
Error in FUN(X[[1L]], ...) : attempt to select more than one element
Tal vez la pregunta más fundamental es que si hay una manera de convertir la carne del objeto coeftest
en una trama de datos, lo que me permitiría extraer columnas por separado, y luego utilizo mapply()
. ¡Gracias!
Editar: Me gustaría terminar con una matrices (o marcos de datos) con la primera y segunda columna.
[[1]]
Estimate Std. Error
(Intercept) 5.0314196 0.1333705
b -0.1039264 0.0987044
[[2]]
Estimate Std. Error
(Intercept) 5.312007153 0.199485363
c -0.007378529 0.003429477
Probablemente sea más fácil responder si proporciona un resultado deseado. – kohske
@kohske - Buena llamada. Gracias. –