В последнее время я довольно много работал с R, но у меня почти нет опыта работы со списками. Так что теперь, когда у меня есть списки, я не знаю, что делать. У меня есть датафрейм df
, созданный с помощью следующей функции
df <- data.table(df)[, .(nm = names(.SD),fits = lapply(.SD, function(x) if(is.numeric(x)) summary(lm(y ~ x, na.action=na.omit)))), .SDcols = -1]
Он состоит из столбца с именами переменных и столбца со списком со сводной статистикой для этого имени переменной, например:
nm fits
1 A list(call = lm(formula = y ~ x, na.action=na.omit))
2 B list(call = lm(formula = y ~ x, na.action=na.omit))
3 C list(call = lm(formula = y ~ x, na.action=na.omit))
4 D list(call = lm(formula = y ~ x, na.action=na.omit))
Применяя:
dfoutput <- lapply(df$fits, function(x) x$coefficients[c(2),])
Я получаю следующий пример вывода для каждой переменной:
Estimate Std. Error t value Pr(>|t|)
x -8.72283 0.68552 -12.72 <2e-16
Я хотел бы преобразовать каждый список в dfoutput
в строку в кадре данных, принимая во внимание имя переменной nm
и предпочтительно используя столбцы: Estimate Std. Error t value Pr(>|t|)
), что дает мне следующий пример вывода :
Varname Estimate Std. Error t value Pr(>|t|)
A -8.72283 0.68552 -12.72 <2e-16
B -0.72283 0.38552 -12.72 <2e-16
C -2.72283 0.28552 -12.72 <2e-16
D -1.72283 1.68552 -12.72 <2e-16
Кто-нибудь будет так любезен, чтобы помочь мне с этим?