I have a list of lists called cj1. Each list contains multiple data frames/elements. I want to extract the first element/data frame from each list in a separate list of data frames. The first rows in the first element of each list look like this
as.data.frame(cj1[[1]])
cj1[[1]]
..a15.pdf 1.27679608
..a17.pdf 1.05090176
..a18.pdf 1.51820192
..a15.pdf etc. is a rowname. If I use as.data.frame(cj1[1][1]), I get the same results, but the name of the column is the combination of all rownames and coeffients.
I'd like to make a list of all of these data frames. In the image below, the name of the element/data frame I am interested in is coefficients. In total there are 462 of them
To extract my desired list (results1) I tried:
results1<-sapply(cj1, function(x) as.data.frame(cj1[1][1]))
This renders a list with more than 15000 elements (same number as cj1), which is more than I would expect (462). In addition, when I access the elements, they are all the same: the coefficients data frame from list 1.
I also tried a for loop, which does not seem right to me, and not surprisingly does not work.
results1 <- c()
for (i in 1:462) {
results1[[i]] <- as.data.frame(cj1[[1]])
}
My original list:
str(cj1)
List of 15708
$ : Named num [1:22] 1.28 1.05 1.52 2.3 1.49 ...
..- attr(*, "names")= chr [1:22] "..a15.pdf" "..a17.pdf" "..a18.pdf" "..a21.pdf" ...
$ : Named num [1:92] -1.1 3.79 1.17 -1.12 -1.1 ...
..- attr(*, "names")= chr [1:92] "1" "2" "3" "4" ...
$ : Named num [1:92] 0.0909 0.2637 0.269 0.1049 0.095 ...
..- attr(*, "names")= chr [1:92] "1" "2" "3" "4" ...
$ : Named num [1:92] -0.327 -0.372 -1.394 -0.514 -1.373 ...
..- attr(*, "names")= chr [1:92] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
$ : num [1:22, 1:22] -1.45 0 0 0 0 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:22] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
.. ..$ : chr [1:22] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
$ : int 22
$ :List of 5
..$ qr : num [1:92, 1:22] -1.45 0 0 0 0 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:92] "1" "2" "3" "4" ...
.. .. ..$ : chr [1:22] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
..$ rank : int 22
..$ qraux: num [1:22] 1 1 1 1 1 ...
..$ pivot: int [1:22] 1 2 3 4 5 6 7 8 9 10 ...
..$ tol : num 1e-11
..- attr(*, "class")= chr "qr"
$ :List of 12
..$ family : chr "binomial"
..$ link : chr "logit"
..$ linkfun :function (mu)
..$ linkinv :function (eta)
..$ variance :function (mu)
..$ dev.resids:function (y, mu, wt)
..$ aic :function (y, n, mu, wt, dev)
..$ mu.eta :function (eta)
..$ initialize: language { if (NCOL(y) == 1) { ...
..$ validmu :function (mu)
..$ valideta :function (eta)
..$ simulate :function (object, nsim)
..- attr(*, "class")= chr "family"
$ : Named num [1:92] -2.3 -1.03 -1 -2.14 -2.25 ...
..- attr(*, "names")= chr [1:92] "1" "2" "3" "4" ...
$ : num 87
$ : num 148
$ : num 148
$ : int 17
$ : Named num [1:92] 0.0826 0.1941 0.3933 0.1878 0.0859 ...
..- attr(*, "names")= chr [1:92] "1" "2" "3" "4" ...
$ : Named num [1:92] 1 1 2 2 1 1 2 1 2 2 ...
..- attr(*, "names")= chr [1:92] "1" "2" "3" "4" ...
$ : int 70
$ : int 92
$ : Named num [1:92] 0 1 0.5 0 0 0 0.5 1 0.5 0.5 ...
..- attr(*, "names")= chr [1:92] "1" "2" "3" "4" ...
$ : logi TRUE
$ : logi FALSE
$ :'data.frame': 92 obs. of 2 variables:
..$ Y: num [1:92, 1:2] 0 1 1 0 0 0 1 1 1 1 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : NULL
.. .. ..$ : chr [1:2] "win1" "win2"
..$ X: num [1:92, 1:22] 0 0 0 0 0 0 0 0 0 1 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:92] "1" "2" "3" "4" ...
.. .. ..$ : chr [1:22] "..a15.pdf" "..a17.pdf" "..a18.pdf" "..a21.pdf" ...
.. ..- attr(*, "assign")= int [1:22] 1 1 1 1 1 1 1 1 1 1 ...
..- attr(*, "terms")=Classes 'terms', 'formula' language Y ~ X - 1
.. .. ..- attr(*, "variables")= language list(Y, X)
.. .. ..- attr(*, "factors")= int [1:2, 1] 0 1
.. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. ..$ : chr [1:2] "Y" "X"
.. .. .. .. ..$ : chr "X"
.. .. ..- attr(*, "term.labels")= chr "X"
.. .. ..- attr(*, "order")= int 1
.. .. ..- attr(*, "intercept")= int 0
.. .. ..- attr(*, "response")= int 1
.. .. ..- attr(*, ".Environment")=<environment: 0x000001b58a90fc78>
.. .. ..- attr(*, "predvars")= language list(Y, X)
.. .. ..- attr(*, "dataClasses")= Named chr [1:2] "nmatrix.2" "nmatrix.22"
.. .. .. ..- attr(*, "names")= chr [1:2] "Y" "X"
$ : language BTm(outcome = cbind(win1, win2), player1 = player1, player2 = player2, data = x)
$ :Class 'formula' language ~..
.. ..- attr(*, ".Environment")=<environment: 0x000001b58a910420>
$ :Classes 'terms', 'formula' language Y ~ X - 1
.. ..- attr(*, "variables")= language list(Y, X)
.. ..- attr(*, "factors")= int [1:2, 1] 0 1
.. .. ..- attr(*, "dimnames")=List of 2
.. .. .. ..$ : chr [1:2] "Y" "X"
.. .. .. ..$ : chr "X"
.. ..- attr(*, "term.labels")= chr "X"
.. ..- attr(*, "order")= int 1
.. ..- attr(*, "intercept")= int 0
.. ..- attr(*, "response")= int 1
.. ..- attr(*, ".Environment")=<environment: 0x000001b58a90fc78>
.. ..- attr(*, "predvars")= language list(Y, X)
.. ..- attr(*, "dataClasses")= Named chr [1:2] "nmatrix.2" "nmatrix.22"
.. .. ..- attr(*, "names")= chr [1:2] "Y" "X"
$ :'data.frame': 92 obs. of 4 variables:
..$ player1: Factor w/ 23 levels "a12TTT.pdf","a15.pdf",..: 1 1 1 1 1 1 1 1 1 2 ...
..$ player2: Factor w/ 23 levels "a12TTT.pdf","a15.pdf",..: 5 8 9 12 13 15 16 19 20 3 ...
..$ win1 : num [1:92] 0 1 1 0 0 0 1 1 1 1 ...
..$ win2 : num [1:92] 1 0 1 2 1 1 1 0 1 1 ...
$ : NULL
$ :List of 3
..$ epsilon: num 1e-08
..$ maxit : num 25
..$ trace : logi FALSE
$ : chr "glm.fit"
$ : Named list()
$ : int [1:22] 1 1 1 1 1 1 1 1 1 1 ...
$ : chr ".."
$ :'data.frame': 92 obs. of 1 variable:
..$ ..: Factor w/ 23 levels "a12TTT.pdf","a15.pdf",..: 1 1 1 1 1 1 1 1 1 2 ...
$ :'data.frame': 92 obs. of 1 variable:
..$ ..: Factor w/ 23 levels "a12TTT.pdf","a15.pdf",..: 5 8 9 12 13 15 16 19 20 3 ...
$ : chr ".."
$ : Named num [1:22] 2.097 2.198 1.918 0.801 2.162 ...
..- attr(*, "names")= chr [1:22] "..a15.pdf" "..a17.pdf" "..a18.pdf" "..a21.pdf" ...
$ : Named num [1:94] -1.15 0.89 3.59 -1.14 -1.05 ...
..- attr(*, "names")= chr [1:94] "1" "2" "3" "4" ...
$ : Named num [1:94] 0.1281 0.3097 0.2786 0.1266 0.0516 ...
..- attr(*, "names")= chr [1:94] "1" "2" "3" "4" ...
$ : Named num [1:94] -0.522 -0.6154 -0.9306 0.0702 -1.3505 ...
..- attr(*, "names")= chr [1:94] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
$ : num [1:22, 1:22] -1.46 0 0 0 0 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:22] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
.. ..$ : chr [1:22] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
$ : int 22
$ :List of 5
..$ qr : num [1:94, 1:22] -1.46 0 0 0 0 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:94] "1" "2" "3" "4" ...
.. .. ..$ : chr [1:22] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
..$ rank : int 22
..$ qraux: num [1:22] 1 1 1 1 1 ...
..$ pivot: int [1:22] 1 2 3 4 5 6 7 8 9 10 ...
..$ tol : num 1e-11
..- attr(*, "class")= chr "qr"
$ :List of 12
..$ family : chr "binomial"
..$ link : chr "logit"
..$ linkfun :function (mu)
..$ linkinv :function (eta)
..$ variance :function (mu)
..$ dev.resids:function (y, mu, wt)
..$ aic :function (y, n, mu, wt, dev)
..$ mu.eta :function (eta)
..$ initialize: language { if (NCOL(y) == 1) { ...
..$ validmu :function (mu)
..$ valideta :function (eta)
..$ simulate :function (object, nsim)
..- attr(*, "class")= chr "family"
$ : Named num [1:94] -1.918 -0.801 -0.951 -1.931 -2.911 ...
..- attr(*, "names")= chr [1:94] "1" "2" "3" "4" ...
$ : num 68
$ : num 131
$ : num 142
$ : int 18
$ : Named num [1:94] 0.1117 0.4276 0.201 0.1106 0.0979 ...
..- attr(*, "names")= chr [1:94] "1" "2" "3" "4" ...
$ : Named num [1:94] 1 2 1 1 2 1 1 2 3 2 ...
..- attr(*, "names")= chr [1:94] "1" "2" "3" "4" ...
$ : int 72
$ : int 94
$ : Named num [1:94] 0 0.5 1 0 0 ...
..- attr(*, "names")= chr [1:94] "1" "2" "3" "4" ...
$ : logi TRUE
$ : logi FALSE
$ :'data.frame': 94 obs. of 2 variables:
..$ Y: num [1:94, 1:2] 0 1 1 0 0 0 0 1 2 1 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : NULL
.. .. ..$ : chr [1:2] "win1" "win2"
..$ X: num [1:94, 1:22] 0 0 0 0 0 0 0 0 0 1 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:94] "1" "2" "3" "4" ...
.. .. ..$ : chr [1:22] "..a15.pdf" "..a17.pdf" "..a18.pdf" "..a21.pdf" ...
.. ..- attr(*, "assign")= int [1:22] 1 1 1 1 1 1 1 1 1 1 ...
..- attr(*, "terms")=Classes 'terms', 'formula' language Y ~ X - 1
.. .. ..- attr(*, "variables")= language list(Y, X)
.. .. ..- attr(*, "factors")= int [1:2, 1] 0 1
.. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. ..$ : chr [1:2] "Y" "X"
.. .. .. .. ..$ : chr "X"
.. .. ..- attr(*, "term.labels")= chr "X"
.. .. ..- attr(*, "order")= int 1
.. .. ..- attr(*, "intercept")= int 0
.. .. ..- attr(*, "response")= int 1
.. .. ..- attr(*, ".Environment")=<environment: 0x000001b592c99120>
.. .. ..- attr(*, "predvars")= language list(Y, X)
.. .. ..- attr(*, "dataClasses")= Named chr [1:2] "nmatrix.2" "nmatrix.22"
.. .. .. ..- attr(*, "names")= chr [1:2] "Y" "X"
$ : language BTm(outcome = cbind(win1, win2), player1 = player1, player2 = player2, data = x)
$ :Class 'formula' language ~..
.. ..- attr(*, ".Environment")=<environment: 0x000001b5877fb898>
$ :Classes 'terms', 'formula' language Y ~ X - 1
.. ..- attr(*, "variables")= language list(Y, X)
.. ..- attr(*, "factors")= int [1:2, 1] 0 1
.. .. ..- attr(*, "dimnames")=List of 2
.. .. .. ..$ : chr [1:2] "Y" "X"
.. .. .. ..$ : chr "X"
.. ..- attr(*, "term.labels")= chr "X"
.. ..- attr(*, "order")= int 1
.. ..- attr(*, "intercept")= int 0
.. ..- attr(*, "response")= int 1
.. ..- attr(*, ".Environment")=<environment: 0x000001b592c99120>
.. ..- attr(*, "predvars")= language list(Y, X)
.. ..- attr(*, "dataClasses")= Named chr [1:2] "nmatrix.2" "nmatrix.22"
.. .. ..- attr(*, "names")= chr [1:2] "Y" "X"
$ :'data.frame': 94 obs. of 4 variables:
..$ player1: Factor w/ 23 levels "a12TTT.pdf","a15.pdf",..: 1 1 1 1 1 1 1 1 1 2 ...
..$ player2: Factor w/ 23 levels "a12TTT.pdf","a15.pdf",..: 4 5 8 9 12 13 15 16 20 3 ...
..$ win1 : num [1:94] 0 1 1 0 0 0 0 1 2 1 ...
..$ win2 : num [1:94] 1 1 0 1 2 1 1 1 1 1 ...
$ : NULL
$ :List of 3
..$ epsilon: num 1e-08
..$ maxit : num 25
..$ trace : logi FALSE
$ : chr "glm.fit"
$ : Named list()
$ : int [1:22] 1 1 1 1 1 1 1 1 1 1 ...
$ : chr ".."
$ :'data.frame': 94 obs. of 1 variable:
..$ ..: Factor w/ 23 levels "a12TTT.pdf","a15.pdf",..: 1 1 1 1 1 1 1 1 1 2 ...
$ :'data.frame': 94 obs. of 1 variable:
..$ ..: Factor w/ 23 levels "a12TTT.pdf","a15.pdf",..: 4 5 8 9 12 13 15 16 20 3 ...
$ : chr ".."
$ : Named num [1:22] 1.9 1.85 1.56 1.69 1.09 ...
..- attr(*, "names")= chr [1:22] "..a15.pdf" "..a17.pdf" "..a18.pdf" "..a21.pdf" ...
$ : Named num [1:89] -1.19 3.77 -1.26 6.01 -1.14 ...
..- attr(*, "names")= chr [1:89] "1" "2" "3" "4" ...
$ : Named num [1:89] 0.156 0.265 0.205 0.166 0.124 ...
..- attr(*, "names")= chr [1:89] "1" "2" "3" "4" ...
$ : Named num [1:89] -0.82 -0.743 -0.889 -0.789 -0.878 ...
..- attr(*, "names")= chr [1:89] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
$ : num [1:22, 1:22] -1.55 0 0 0 0 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:22] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
.. ..$ : chr [1:22] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
$ : int 22
$ :List of 5
..$ qr : num [1:89, 1:22] -1.55 0 0 0 0 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:89] "1" "2" "3" "4" ...
.. .. ..$ : chr [1:22] "X..a15.pdf" "X..a17.pdf" "X..a18.pdf" "X..a21.pdf" ...
..$ rank : int 22
..$ qraux: num [1:22] 1 1 1 1 1 ...
..$ pivot: int [1:22] 1 2 3 4 5 6 7 8 9 10 ...
..$ tol : num 1e-11
..- attr(*, "class")= chr "qr"
$ :List of 12
..$ family : chr "binomial"
..$ link : chr "logit"
..$ linkfun :function (mu)
..$ linkinv :function (eta)
..$ variance :function (mu)
..$ dev.resids:function (y, mu, wt)
..$ aic :function (y, n, mu, wt, dev)
..$ mu.eta :function (eta)
..$ initialize: language { if (NCOL(y) == 1) { ...
..$ validmu :function (mu)
..$ valideta :function (eta)
..$ simulate :function (object, nsim)
..- attr(*, "class")= chr "family"
$ : Named num [1:89] -1.69 -1.02 -1.35 -1.61 -1.95 ...
..- attr(*, "names")= chr [1:89] "1" "2" "3" "4" ...
$ : num 75.4
$ : num 139
$ : num 141
$ : int 18
$ : Named num [1:89] 0.132 0.195 0.163 0.139 0.218 ...
..- attr(*, "names")= chr [1:89] "1" "2" "3" "4" ...
$ : Named num [1:89] 1 1 1 1 2 1 2 2 3 3 ...
..- attr(*, "names")= chr [1:89] "1" "2" "3" "4" ...
$ : int 67
$ : int 89
$ : Named num [1:89] 0 1 0 1 0 ...
..- attr(*, "names")= chr [1:89] "1" "2" "3" "4" ...
$ : logi TRUE
$ : logi FALSE
$ :'data.frame': 89 obs. of 2 variables:
..$ Y: num [1:89, 1:2] 0 1 0 1 0 0 1 1 1 2 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : NULL
.. .. ..$ : chr [1:2] "win1" "win2"
..$ X: num [1:89, 1:22] 0 0 0 0 0 0 0 0 0 1 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:89] "1" "2" "3" "4" ...
.. .. ..$ : chr [1:22] "..a15.pdf" "..a17.pdf" "..a18.pdf" "..a21.pdf" ...
.. ..- attr(*, "assign")= int [1:22] 1 1 1 1 1 1 1 1 1 1 ...
..- attr(*, "terms")=Classes 'terms', 'formula' language Y ~ X - 1
.. .. ..- attr(*, "variables")= language list(Y, X)
.. .. ..- attr(*, "factors")= int [1:2, 1] 0 1
.. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. ..$ : chr [1:2] "Y" "X"
.. .. .. .. ..$ : chr "X"
.. .. ..- attr(*, "term.labels")= chr "X"
.. .. ..- attr(*, "order")= int 1
.. .. ..- attr(*, "intercept")= int 0
.. .. ..- attr(*, "response")= int 1
.. .. ..- attr(*, ".Environment")=<environment: 0x000001b587c20440>
.. .. ..- attr(*, "predvars")= language list(Y, X)
.. .. ..- attr(*, "dataClasses")= Named chr [1:2] "nmatrix.2" "nmatrix.22"
.. .. .. ..- attr(*, "names")= chr [1:2] "Y" "X"
$ : language BTm(outcome = cbind(win1, win2), player1 = player1, player2 = player2, data = x)
$ :Class 'formula' language ~..
.. ..- attr(*, ".Environment")=<environment: 0x000001b587c20b40>
$ :Classes 'terms', 'formula' language Y ~ X - 1
.. ..- attr(*, "variables")= language list(Y, X)
.. ..- attr(*, "factors")= int [1:2, 1] 0 1
.. .. ..- attr(*, "dimnames")=List of 2
.. .. .. ..$ : chr [1:2] "Y" "X"
.. .. .. ..$ : chr "X"
.. ..- attr(*, "term.labels")= chr "X"
.. ..- attr(*, "order")= int 1
.. ..- attr(*, "intercept")= int 0
.. ..- attr(*, "response")= int 1
.. ..- attr(*, ".Environment")=<environment: 0x000001b587c20440>
.. ..- attr(*, "predvars")= language list(Y, X)
.. ..- attr(*, "dataClasses")= Named chr [1:2] "nmatrix.2" "nmatrix.22"
.. .. ..- attr(*, "names")= chr [1:2] "Y" "X"
$ :'data.frame': 89 obs. of 4 variables:
..$ player1: Factor w/ 23 levels "a12TTT.pdf","a15.pdf",..: 1 1 1 1 1 1 1 1 1 2 ...
..$ player2: Factor w/ 23 levels "a12TTT.pdf","a15.pdf",..: 5 8 9 10 12 13 15 16 20 3 ...
..$ win1 : num [1:89] 0 1 0 1 0 0 1 1 1 2 ...
..$ win2 : num [1:89] 1 0 1 0 2 1 1 1 2 1 ...
$ : NULL
$ :List of 3
..$ epsilon: num 1e-08
..$ maxit : num 25
..$ trace : logi FALSE
$ : chr "glm.fit"
$ : Named list()
$ : int [1:22] 1 1 1 1 1 1 1 1 1 1 ...
$ : chr ".."
[list output truncated]
- attr(*, "dim")= int [1:2] 34 462
- attr(*, "dimnames")=List of 2
..$ : chr [1:34] "coefficients" "residuals" "fitted.values" "effects" ...
..$ : NULL
Extract from dput
dput(cj1[c(1, 3, 8)])
list(c(..a15.pdf = 1.27679607834331, ..a17.pdf = 1.05090175857491,
..a18.pdf = 1.51820192474905, ..a21.pdf = 2.30296037386815, ..a2TTT.pdf = 1.48568731934637,
..a5.pdf = 0.493713103224402, ..B11.pdf = 1.02705905465749, ..B12.pdf = 0.999747360884078,
..B13.pdf = 2.40828101927852, ..B22.pdf = 0.695152132033603,
..B24.pdf = 2.1436001615064, ..B4.pdf = 2.25444037842867, ..B7.pdf = 0.909773940025014,
..B8.pdf = 1.14837173756827, `..cw10-1.pdf` = -1.36323271003293,
`..cw15-1TTT.pdf` = 0.341428535787024, `..cw17-1.pdf` = -0.786878348480425,
..cw18.pdf = 0.793720472787986, ..cw3.pdf = -1.57831038567642,
..cw4.pdf = 0.277733503122777, ..cw7_1TTT.pdf = -0.0364645818969112,
`..cw13-1.pdf` = -18.336668416705), c(`1` = 0.0908780807219899,
`2` = 0.263654664895121, `3` = 0.268991096134461, `4` = 0.104930779989728,
`5` = 0.0949671345831925, `6` = 0.240786617491842, `7` = 0.796284595482489,
`8` = 0.31137037055408, `9` = 0.82896509427021, `10` = 0.556234653434742,
`11` = 0.447966262353147, `12` = 0.562111772393927, `13` = 0.64144559057026,
`14` = 0.295919740681443, `15` = 0.590739226571063, `16` = 0.618473870745292,
`17` = 0.730874229815385, `18` = 0.385255456804764, `19` = 0.392984164719899,
`20` = 0.505960393621032, `21` = 0.512785811414426, `22` = 0.588011150512112,
`23` = 0.230846313945379, `24` = 0.917898796713428, `25` = 0.670284750854893,
`26` = 0.862685953007114, `27` = 0.99999999619736, `28` = 0.508127935292484,
`29` = 0.735846044750689, `30` = 0.620375626350015, `31` = 0.348554704521668,
`32` = 0.946921016898213, `33` = 0.909296911948067, `34` = 0.673593098928319,
`35` = 0.825586698787513, `36` = 0.78637523124224, `37` = 0.473694150487632,
`38` = 0.883420398016852, `39` = 0.999999998912766, `40` = 0.729477690591574,
`41` = 0.612688711990574, `42` = 0.341208618334042, `43` = 0.945262830874797,
`44` = 0.758460698474656, `45` = 0.769936700176506, `46` = 0.820855140443936,
`47` = 0.146699277115816, `48` = 0.397459740469979, `49` = 0.537997737731323,
`50` = 0.782550437769477, `51` = 0.888154125425794, `52` = 0.553785981995655,
`53` = 0.582223288022616, `54` = 0.226640083932377, `55` = 0.529287713363298,
`56` = 0.999999996105605, `57` = 0.196465439953117, `58` = 0.551325299580471,
`59` = 0.92943599314157, `60` = 0.738118436855869, `61` = 0.893836974671663,
`62` = 0.920176356697468, `63` = 0.99999999902145, `64` = 0.173748802751829,
`65` = 0.446549562485168, `66` = 0.388595549230014, `67` = 0.587520249127046,
`68` = 0.814879076916803, `69` = 0.4753778467418, `70` = 0.90665523878871,
`71` = 0.999999994572681, `72` = 0.730119396156374, `73` = 0.970881561088295,
`74` = 0.865979290569218, `75` = 0.898444979546349, `76` = 0.793256288161879,
`77` = 0.871357134749265, `78` = 0.811642757783275, `79` = 0.440631930364752,
`80` = 0.906616650865072, `81` = 0.845096998613173, `82` = 0.691457736894216,
`83` = 0.873829387141476, `84` = 0.587745042243573, `85` = 0.7658162723501,
`86` = 0.999999996550512, `87` = 0.755526305253868, `88` = 0.515918376716212,
`89` = 0.999999992269536, `90` = 0.999999976109623, `91` = 0.135164835661148,
`92` = 0.999999947284594), structure(list(family = "binomial",
link = "logit", linkfun = function (mu)
.Call(C_logit_link, mu), linkinv = function (eta)
.Call(C_logit_linkinv, eta), variance = function (mu)
mu * (1 - mu), dev.resids = function (y, mu, wt)
.Call(C_binomial_dev_resids, y, mu, wt), aic = function (y,
n, mu, wt, dev)
{
m <- if (any(n > 1))
n
else wt
-2 * sum(ifelse(m > 0, (wt/m), 0) * dbinom(round(m *
y), round(m), mu, log = TRUE))
}, mu.eta = function (eta)
.Call(C_logit_mu_eta, eta), initialize = {
if (NCOL(y) == 1) {
if (is.factor(y))
y <- y != levels(y)[1L]
n <- rep.int(1, nobs)
y[weights == 0] <- 0
if (any(y < 0 | y > 1))
stop("y values must be 0 <= y <= 1")
mustart <- (weights * y + 0.5)/(weights + 1)
m <- weights * y
if ("binomial" == "binomial" && any(abs(m - round(m)) >
0.001))
warning(gettextf("non-integer #successes in a %s glm!",
"binomial"), domain = NA)
}
else if (NCOL(y) == 2) {
if ("binomial" == "binomial" && any(abs(y - round(y)) >
0.001))
warning(gettextf("non-integer counts in a %s glm!",
"binomial"), domain = NA)
n <- (y1 <- y[, 1L]) + y[, 2L]
y <- y1/n
if (any(n0 <- n == 0))
y[n0] <- 0
weights <- weights * n
mustart <- (n * y + 0.5)/(n + 1)
}
else stop(gettextf("for the '%s' family, y must be a vector of 0 and 1's\nor a 2 column matrix where col 1 is no. successes and col 2 is no. failures",
"binomial"), domain = NA)
}, validmu = function (mu)
all(is.finite(mu)) && all(mu > 0 & mu < 1), valideta = function (eta)
TRUE, simulate = function (object, nsim)
{
ftd <- fitted(object)
n <- length(ftd)
ntot <- n * nsim
wts <- object$prior.weights
if (any(wts%%1 != 0))
stop("cannot simulate from non-integer prior.weights")
if (!is.null(m <- object$model)) {
y <- model.response(m)
if (is.factor(y)) {
yy <- factor(1 + rbinom(ntot, size = 1, prob = ftd),
labels = levels(y))
split(yy, rep(seq_len(nsim), each = n))
}
else if (is.matrix(y) && ncol(y) == 2) {
yy <- vector("list", nsim)
for (i in seq_len(nsim)) {
Y <- rbinom(n, size = wts, prob = ftd)
YY <- cbind(Y, wts - Y)
colnames(YY) <- colnames(y)
yy[[i]] <- YY
}
yy
}
else rbinom(ntot, size = wts, prob = ftd)/wts
}
else rbinom(ntot, size = wts, prob = ftd)/wts
}), class = "family"))
The dput output from above probably presents the rows 1,3,8 from V1 only i.e. coefficients, fitted values, family (see image here).
The desired output would be a list of data frames with the coefficients and their names (first row) in all of the columns presented in the image, i.e. V1:V462. When I extract the data from the first row and first column, the names are rownames. But I was not able to access coefficients in V2 etc. cj2[2][1] accessess the residuals (second row) in V1. cj2[1][2] gives null.
Illustration of the output
Data frame one
..a15.pdf 1.27679608
..a17.pdf 1.05090176
..a18.pdf 1.51820192 and so on for the 22 names that I have (i.e.a15.pdf)
Data frame 2
..a15.pdf 2.09668756
..a17.pdf 2.19826038.....etc for 22 names (if they are all included).
So basically I want the data that on the image appears to be in row one across all the columns.
So after messing around, the answer seems to be very simple: `results1<-cj1["coefficients",]. This creates the list that I want. Akrun, if you read this, thank you for your support.
I am performing a Newey-West test to assess an estimator of a regression with heteroskedastic and autocorrelated residuals.
I am using the "sandwich" and "lmtest" packages.
While I can easily reproduce examples found on other sites, my own script causes the error:
Error in dimnames(cd) <- list(as.character(index(x)), colnames(x)) : 'dimnames' applied to non-array
My code:
ffregression <- lm(ex.return ~ fff$Mkt.RF + fff$SMB + fff$HML)
coeftest(ffregression,vcov=NeweyWest)
str(ffregression):
List of 12
$ coefficients : Named num [1:4] 0.00604 0.72976 0.90351 0.13548
..- attr(*, "names")= chr [1:4] "(Intercept)" "fff$Mkt.RF" "fff$SMB" "fff$HML"
$ residuals :An ‘xts’ object on Mar 2014/Dec 2016 containing:
Data: num [1:34] -0.03637 0.0408 -0.00672 0.04648 -0.02275 ...
Indexed by objects of class: [yearmon] TZ:
Original class: 'double'
xts Attributes:
NULL
$ effects :An ‘xts’ object on Mar 2014/Dec 2016 containing:
Data: num [1:34] -0.0606 0.1785 0.1379 0.0204 -0.0262 ...
Indexed by objects of class: [yearmon] TZ:
Original class: 'double'
xts Attributes:
NULL
$ rank : int 4
$ fitted.values:An ‘xts’ object on Mar 2014/Dec 2016 containing:
Data: num [1:34] -0.000725 -0.031716 0.003868 0.051386 -0.047005 ...
Indexed by objects of class: [yearmon] TZ:
Original class: 'double'
xts Attributes:
NULL
$ assign : int [1:4] 0 1 2 3
$ qr :List of 5
..$ qr : num [1:34, 1:4] -5.831 0.171 0.171 0.171 0.171 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:34] "1" "2" "3" "4" ...
.. .. ..$ : chr [1:4] "(Intercept)" "fff$Mkt.RF" "fff$SMB" "fff$HML"
.. ..- attr(*, "assign")= int [1:4] 0 1 2 3
..$ qraux: num [1:4] 1.17 1.05 1.14 1.14
..$ pivot: int [1:4] 1 2 3 4
..$ tol : num 1e-07
..$ rank : int 4
..- attr(*, "class")= chr "qr"
$ df.residual : int 30
$ xlevels : Named list()
$ call : language lm(formula = ex.return ~ fff$Mkt.RF + fff$SMB + fff$HML)
$ terms :Classes 'terms', 'formula' language ex.return ~ fff$Mkt.RF + fff$SMB + fff$HML
.. ..- attr(*, "variables")= language list(ex.return, fff$Mkt.RF, fff$SMB, fff$HML)
.. ..- attr(*, "factors")= int [1:4, 1:3] 0 1 0 0 0 0 1 0 0 0 ...
.. .. ..- attr(*, "dimnames")=List of 2
.. .. .. ..$ : chr [1:4] "ex.return" "fff$Mkt.RF" "fff$SMB" "fff$HML"
.. .. .. ..$ : chr [1:3] "fff$Mkt.RF" "fff$SMB" "fff$HML"
.. ..- attr(*, "term.labels")= chr [1:3] "fff$Mkt.RF" "fff$SMB" "fff$HML"
.. ..- attr(*, "order")= int [1:3] 1 1 1
.. ..- attr(*, "intercept")= int 1
.. ..- attr(*, "response")= int 1
.. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
.. ..- attr(*, "predvars")= language list(ex.return, fff$Mkt.RF, fff$SMB, fff$HML)
.. ..- attr(*, "dataClasses")= Named chr [1:4] "nmatrix.1" "nmatrix.1" "nmatrix.1" "nmatrix.1"
.. .. ..- attr(*, "names")= chr [1:4] "ex.return" "fff$Mkt.RF" "fff$SMB" "fff$HML"
$ model :'data.frame': 34 obs. of 4 variables:
..$ ex.return :An ‘xts’ object on Mar 2014/Dec 2016 containing:
Data: num [1:34, 1] -0.03709 0.00909 -0.00285 0.09786 -0.06975 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr "RF"
Indexed by objects of class: [yearmon] TZ:
Original class: 'double'
xts Attributes:
NULL
..$ fff$Mkt.RF:An ‘xts’ object on Mar 2014/Dec 2016 containing:
Data: num [1:34, 1] 0.0043 -0.0019 0.0206 0.0261 -0.0204 0.0424 -0.0197 0.0252 0.0255 -0.0006 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr "Mkt.RF"
Indexed by objects of class: [yearmon] TZ:
xts Attributes:
NULL
..$ fff$SMB :An ‘xts’ object on Mar 2014/Dec 2016 containing:
Data: num [1:34, 1] -0.0185 -0.0419 -0.0185 0.0301 -0.0422 0.004 -0.038 0.0428 -0.0205 0.0259 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr "SMB"
Indexed by objects of class: [yearmon] TZ:
xts Attributes:
NULL
..$ fff$HML :An ‘xts’ object on Mar 2014/Dec 2016 containing:
Data: num [1:34, 1] 0.0503 0.011 -0.0036 -0.0066 -0.0002 -0.0055 -0.0119 -0.0168 -0.0298 0.0212 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr "HML"
Indexed by objects of class: [yearmon] TZ:
xts Attributes:
NULL
..- attr(*, "terms")=Classes 'terms', 'formula' language ex.return ~ fff$Mkt.RF + fff$SMB + fff$HML
.. .. ..- attr(*, "variables")= language list(ex.return, fff$Mkt.RF, fff$SMB, fff$HML)
.. .. ..- attr(*, "factors")= int [1:4, 1:3] 0 1 0 0 0 0 1 0 0 0 ...
.. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. ..$ : chr [1:4] "ex.return" "fff$Mkt.RF" "fff$SMB" "fff$HML"
.. .. .. .. ..$ : chr [1:3] "fff$Mkt.RF" "fff$SMB" "fff$HML"
.. .. ..- attr(*, "term.labels")= chr [1:3] "fff$Mkt.RF" "fff$SMB" "fff$HML"
.. .. ..- attr(*, "order")= int [1:3] 1 1 1
.. .. ..- attr(*, "intercept")= int 1
.. .. ..- attr(*, "response")= int 1
.. .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
.. .. ..- attr(*, "predvars")= language list(ex.return, fff$Mkt.RF, fff$SMB, fff$HML)
.. .. ..- attr(*, "dataClasses")= Named chr [1:4] "nmatrix.1" "nmatrix.1" "nmatrix.1" "nmatrix.1"
.. .. .. ..- attr(*, "names")= chr [1:4] "ex.return" "fff$Mkt.RF" "fff$SMB" "fff$HML"
- attr(*, "class")= chr "lm"
Example:
set.seed(04012017)
n<-34
correlated_residuals<-arima.sim(list(ar = .9), n)
y<-correlated_residuals
x<-1:n
plot(x,correlated_residuals)
fit<-lm(y~x)
abline(fit)
summary(fit) # standard estimates
coeftest(fit,vcov=NeweyWest(fit,verbose=T))
str(fit):
List of 12
$ coefficients : Named num [1:2] -0.179 0.148
..- attr(*, "names")= chr [1:2] "(Intercept)" "x"
$ residuals : Named num [1:34] -0.9529 0.976 0.3025 -0.0486 -1.1214 ...
..- attr(*, "names")= chr [1:34] "1" "2" "3" "4" ...
$ effects : Named num [1:34] -14.026 8.449 0.25 -0.085 -1.142 ...
..- attr(*, "names")= chr [1:34] "(Intercept)" "x" "" "" ...
$ rank : int 2
$ fitted.values: Named num [1:34] -0.0314 0.1163 0.264 0.4116 0.5593 ...
..- attr(*, "names")= chr [1:34] "1" "2" "3" "4" ...
$ assign : int [1:2] 0 1
$ qr :List of 5
..$ qr : num [1:34, 1:2] -5.831 0.171 0.171 0.171 0.171 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:34] "1" "2" "3" "4" ...
.. .. ..$ : chr [1:2] "(Intercept)" "x"
.. ..- attr(*, "assign")= int [1:2] 0 1
..$ qraux: num [1:2] 1.17 1.23
..$ pivot: int [1:2] 1 2
..$ tol : num 1e-07
..$ rank : int 2
..- attr(*, "class")= chr "qr"
$ df.residual : int 32
$ xlevels : Named list()
$ call : language lm(formula = y ~ x)
$ terms :Classes 'terms', 'formula' language y ~ x
.. ..- attr(*, "variables")= language list(y, x)
.. ..- attr(*, "factors")= int [1:2, 1] 0 1
.. .. ..- attr(*, "dimnames")=List of 2
.. .. .. ..$ : chr [1:2] "y" "x"
.. .. .. ..$ : chr "x"
.. ..- attr(*, "term.labels")= chr "x"
.. ..- attr(*, "order")= int 1
.. ..- attr(*, "intercept")= int 1
.. ..- attr(*, "response")= int 1
.. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
.. ..- attr(*, "predvars")= language list(y, x)
.. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "numeric"
.. .. ..- attr(*, "names")= chr [1:2] "y" "x"
$ model :'data.frame': 34 obs. of 2 variables:
..$ y: num [1:34] -0.984 1.092 0.566 0.363 -0.562 ...
..$ x: int [1:34] 1 2 3 4 5 6 7 8 9 10 ...
..- attr(*, "terms")=Classes 'terms', 'formula' language y ~ x
.. .. ..- attr(*, "variables")= language list(y, x)
.. .. ..- attr(*, "factors")= int [1:2, 1] 0 1
.. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. ..$ : chr [1:2] "y" "x"
.. .. .. .. ..$ : chr "x"
.. .. ..- attr(*, "term.labels")= chr "x"
.. .. ..- attr(*, "order")= int 1
.. .. ..- attr(*, "intercept")= int 1
.. .. ..- attr(*, "response")= int 1
.. .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
.. .. ..- attr(*, "predvars")= language list(y, x)
.. .. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "numeric"
.. .. .. ..- attr(*, "names")= chr [1:2] "y" "x"
- attr(*, "class")= chr "lm"
It seems that R is complaining that it cannot assign dimnames because your data is coming from a non-array. Try to use only one xts object for your data instead.
fff$ex.return <- ex.return
ffregression <- lm(ex.return ~ Mkt.RF + SMB + HML, data = fff)
coeftest(ffregression,vcov=NeweyWest)
I have referred to much of online literature but it is increasing my confusion. Much of the discussion is too technical with terms unbalanced designs and I, II or III factor ANOVA and everything.
I only know that aov() uses lm() internally and is useful for data with factors. Whereas anova() can be used for different models on same dataset.
Is my understanding correct?
anova is substantially different from aov. Why not read R's documentation ?aov and ?anova? In short:
aov fits a model (as you are already aware, internally it calls lm), so it produces regression coefficients, fitted values, residuals, etc; It produces an object of primary class "aov" but also a secondary class "lm". So, it is an augmentation of an "lm" object.
anova is a generic function. In your scenario you are referring to anova.lm or anova.lmlist (read ?anova.lm for more info). The former analyses a fitted model (produced by lm or aov), while the latter analyses several nested (increasingly large) fitted models (by lm or aov). They both aim at producing type I (sequential) ANOVA table.
In practice, you first use lm / aov to fit a model, then use anova to analyse the result. There is nothing better than trying a small example:
fit <- aov(sr ~ ., data = LifeCycleSavings) ## can also use `lm`
z <- anova(fit)
Now, have a look at their structure. aov returns a large object:
str(fit)
#List of 12
# $ coefficients : Named num [1:5] 28.566087 -0.461193 -1.691498 -0.000337 0.409695
# ..- attr(*, "names")= chr [1:5] "(Intercept)" "pop15" "pop75" "dpi" ...
# $ residuals : Named num [1:50] 0.864 0.616 2.219 -0.698 3.553 ...
# ..- attr(*, "names")= chr [1:50] "Australia" "Austria" "Belgium" "Bolivia" ...
# $ effects : Named num [1:50] -68.38 -14.29 7.3 -3.52 -7.94 ...
# ..- attr(*, "names")= chr [1:50] "(Intercept)" "pop15" "pop75" "dpi" ...
# $ rank : int 5
# $ fitted.values: Named num [1:50] 10.57 11.45 10.95 6.45 9.33 ...
# ..- attr(*, "names")= chr [1:50] "Australia" "Austria" "Belgium" "Bolivia" ...
# $ assign : int [1:5] 0 1 2 3 4
# $ qr :List of 5
# ..$ qr : num [1:50, 1:5] -7.071 0.141 0.141 0.141 0.141 ...
# .. ..- attr(*, "dimnames")=List of 2
# .. .. ..$ : chr [1:50] "Australia" "Austria" "Belgium" "Bolivia" ...
# .. .. ..$ : chr [1:5] "(Intercept)" "pop15" "pop75" "dpi" ...
# .. ..- attr(*, "assign")= int [1:5] 0 1 2 3 4
# ..$ qraux: num [1:5] 1.14 1.17 1.16 1.15 1.05
# ..$ pivot: int [1:5] 1 2 3 4 5
# ..$ tol : num 1e-07
# ..$ rank : int 5
# ..- attr(*, "class")= chr "qr"
# $ df.residual : int 45
# $ xlevels : Named list()
# $ call : language aov(formula = sr ~ ., data = LifeCycleSavings)
# $ terms :Classes 'terms', 'formula' language sr ~ pop15 + pop75 + dpi + ddpi
# .. ..- attr(*, "variables")= language list(sr, pop15, pop75, dpi, ddpi)
# .. ..- attr(*, "factors")= int [1:5, 1:4] 0 1 0 0 0 0 0 1 0 0 ...
# .. .. ..- attr(*, "dimnames")=List of 2
# .. .. .. ..$ : chr [1:5] "sr" "pop15" "pop75" "dpi" ...
# .. .. .. ..$ : chr [1:4] "pop15" "pop75" "dpi" "ddpi"
# .. ..- attr(*, "term.labels")= chr [1:4] "pop15" "pop75" "dpi" "ddpi"
# .. ..- attr(*, "order")= int [1:4] 1 1 1 1
# .. ..- attr(*, "intercept")= int 1
# .. ..- attr(*, "response")= int 1
# .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
# .. ..- attr(*, "predvars")= language list(sr, pop15, pop75, dpi, ddpi)
# .. ..- attr(*, "dataClasses")= Named chr [1:5] "numeric" "numeric" "numeric" "numeric" ...
# .. .. ..- attr(*, "names")= chr [1:5] "sr" "pop15" "pop75" "dpi" ...
# $ model :'data.frame': 50 obs. of 5 variables:
# ..$ sr : num [1:50] 11.43 12.07 13.17 5.75 12.88 ...
# ..$ pop15: num [1:50] 29.4 23.3 23.8 41.9 42.2 ...
# ..$ pop75: num [1:50] 2.87 4.41 4.43 1.67 0.83 2.85 1.34 0.67 1.06 1.14 ...
# ..$ dpi : num [1:50] 2330 1508 2108 189 728 ...
# ..$ ddpi : num [1:50] 2.87 3.93 3.82 0.22 4.56 2.43 2.67 6.51 3.08 2.8 ...
# ..- attr(*, "terms")=Classes 'terms', 'formula' language sr ~ pop15 + pop75 + dpi + ddpi
# .. .. ..- attr(*, "variables")= language list(sr, pop15, pop75, dpi, ddpi)
# .. .. ..- attr(*, "factors")= int [1:5, 1:4] 0 1 0 0 0 0 0 1 0 0 ...
# .. .. .. ..- attr(*, "dimnames")=List of 2
# .. .. .. .. ..$ : chr [1:5] "sr" "pop15" "pop75" "dpi" ...
# .. .. .. .. ..$ : chr [1:4] "pop15" "pop75" "dpi" "ddpi"
# .. .. ..- attr(*, "term.labels")= chr [1:4] "pop15" "pop75" "dpi" "ddpi"
# .. .. ..- attr(*, "order")= int [1:4] 1 1 1 1
# .. .. ..- attr(*, "intercept")= int 1
# .. .. ..- attr(*, "response")= int 1
# .. .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
# .. .. ..- attr(*, "predvars")= language list(sr, pop15, pop75, dpi, ddpi)
# .. .. ..- attr(*, "dataClasses")= Named chr [1:5] "numeric" "numeric" "numeric" "numeric" ...
# .. .. .. ..- attr(*, "names")= chr [1:5] "sr" "pop15" "pop75" "dpi" ...
# - attr(*, "class")= chr [1:2] "aov" "lm"
While anova returns:
str(z)
#Classes ‘anova’ and 'data.frame': 5 obs. of 5 variables:
# $ Df : int 1 1 1 1 45
# $ Sum Sq : num 204.1 53.3 12.4 63.1 650.7
# $ Mean Sq: num 204.1 53.3 12.4 63.1 14.5
# $ F value: num 14.116 3.689 0.858 4.36 NA
# $ Pr(>F) : num 0.000492 0.061125 0.359355 0.042471 NA
# - attr(*, "heading")= chr "Analysis of Variance Table\n" "Response: sr"
Assuming I have an X matrix and y vector such as the following:
X=
[,1] [,2] [,3]
[1,] 83.0 234.289 235.6 ...
[2,] 88.5 259.426 232.5 ...
[3,] 88.2 258.054 368.2 ...
y=
[1] 60.323 61.122 60.171...
After conducting a decomposition, I find the coefficients B and residuals E. How can I create a new lm object (ie lmQ) that stores my results for B and E in order to get something like this:
> lmQ(X)
$coefficients
X1 X2
B1 B2
$residuals
[1] R1 R2 R3...
Please help thanks!
Objects are just lists with a class attribute.
Create a list, assign the components, set the class -- til it looks like what str() gives.
Now, lm() returns somewhat large objects so you have some work to do:
> df <- data.frame(y=runif(10), x=rnorm(10))
> fit <- lm(y ~ x, df)
> str(fit)
List of 12
$ coefficients : Named num [1:2] 0.5368 0.0314
..- attr(*, "names")= chr [1:2] "(Intercept)" "x"
$ residuals : Named num [1:10] 0.2899 -0.3592 -0.1753 0.3187 -0.0235 ...
..- attr(*, "names")= chr [1:10] "1" "2" "3" "4" ...
$ effects : Named num [1:10] -1.734 0.104 -0.325 0.485 -0.158 ...
..- attr(*, "names")= chr [1:10] "(Intercept)" "x" "" "" ...
$ rank : int 2
$ fitted.values: Named num [1:10] 0.553 0.526 0.573 0.479 0.569 ...
..- attr(*, "names")= chr [1:10] "1" "2" "3" "4" ...
$ assign : int [1:2] 0 1
$ qr :List of 5
..$ qr : num [1:10, 1:2] -3.162 0.316 0.316 0.316 0.316 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:10] "1" "2" "3" "4" ...
.. .. ..$ : chr [1:2] "(Intercept)" "x"
.. ..- attr(*, "assign")= int [1:2] 0 1
..$ qraux: num [1:2] 1.32 1.22
..$ pivot: int [1:2] 1 2
..$ tol : num 1e-07
..$ rank : int 2
..- attr(*, "class")= chr "qr"
$ df.residual : int 8
$ xlevels : Named list()
$ call : language lm(formula = y ~ x, data = df)
$ terms :Classes 'terms', 'formula' length 3 y ~ x
.. ..- attr(*, "variables")= language list(y, x)
.. ..- attr(*, "factors")= int [1:2, 1] 0 1
.. .. ..- attr(*, "dimnames")=List of 2
.. .. .. ..$ : chr [1:2] "y" "x"
.. .. .. ..$ : chr "x"
.. ..- attr(*, "term.labels")= chr "x"
.. ..- attr(*, "order")= int 1
.. ..- attr(*, "intercept")= int 1
.. ..- attr(*, "response")= int 1
.. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
.. ..- attr(*, "predvars")= language list(y, x)
.. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "numeric"
.. .. ..- attr(*, "names")= chr [1:2] "y" "x"
$ model :'data.frame': 10 obs. of 2 variables:
..$ y: num [1:10] 0.843 0.167 0.398 0.798 0.545 ...
..$ x: num [1:10] 0.504 -0.337 1.151 -1.835 1.011 ...
..- attr(*, "terms")=Classes 'terms', 'formula' length 3 y ~ x
.. .. ..- attr(*, "variables")= language list(y, x)
.. .. ..- attr(*, "factors")= int [1:2, 1] 0 1
.. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. ..$ : chr [1:2] "y" "x"
.. .. .. .. ..$ : chr "x"
.. .. ..- attr(*, "term.labels")= chr "x"
.. .. ..- attr(*, "order")= int 1
.. .. ..- attr(*, "intercept")= int 1
.. .. ..- attr(*, "response")= int 1
.. .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
.. .. ..- attr(*, "predvars")= language list(y, x)
.. .. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "numeric"
.. .. .. ..- attr(*, "names")= chr [1:2] "y" "x"
- attr(*, "class")= chr "lm"
>