Код, который у меня есть, получен только из формулы в консоли. Внутри этого кода есть и есть петли.Создайте матрицу из печати в консоли R
Как создать матрицу для сопоставления этих данных?
Код, который у меня есть, получен только из формулы в консоли. Внутри этого кода есть и есть петли.Создайте матрицу из печати в консоли R
Как создать матрицу для сопоставления этих данных?
Вот пример, который запускает две регрессии, извлекает результаты и сохраняет результаты в кадре данных с именем outcomes
.
library(plyr)
library(arm)
# create some data
dat <- data.frame(group=c(rep(1, 30), rep(0, 30)),
dv1=runif(60, 1, 30),
dv2=runif(60, 1, 30),
iv1=sample(c(0:1), 60, replace=TRUE),
iv2=runif(60, 1, 30))
# dvs to test
dv <- c("dv1", "dv2")
# create object to receive results
outcomes <- NULL
outcomes <- as.data.frame(outcomes)
# for loop
for (i in 1:length(dv)) {
# run a regression and store the results
temp <- lm(get(dv[i]) ~ group + factor(iv1) + iv2, data=dat)
temp2 <- summary(temp)
# extract results and fill table
outcomes[i,1] <- dv[i] # name of outcome variable
outcomes[i,2] <- display(temp)$n # total observations
treat.n <- count(dat$group, 1)[2,2] # obs in treatment group
control.n <- count(dat$group, 1)[1,2]
treat.m <- aggregate(dat[dv[i]], # treatment mean
by=list(dat$group),
FUN=mean,
na.rm=TRUE)[2,2]
outcomes[i,3] <- treat.m
treat.sd <- aggregate(dat[dv[i]], # treatment sd
by=list(dat$group),
FUN=sd,
na.rm=TRUE)[2,2]
outcomes[i,4] <- treat.sd
control.m <- aggregate(dat[dv[i]], # control mean
by=list(dat$group),
FUN=mean,
na.rm=TRUE)[1,2]
outcomes[i,5] <- control.m
control.sd <- aggregate(dat[dv[i]], # control sd
by=list(dat$group),
FUN=sd,
na.rm=TRUE)[1,2]
outcomes[i,6] <- control.sd
coeffs <- coefficients(temp) # coefficients
outcomes[i,7] <- coeffs[2] # ATE
outcomes[i,8] <- se.coef(temp)[2] # std err
outcomes[i,9] <- coef(temp2)[,4][2] # p-value
# add column names
names(outcomes) <- c("variable", "obs", "treat.mean", "treat.sd",
"control.mean", "control.sd", "ate", "ate.se",
"pvalue")
}
Связано ли это с вопросом? –
OP сказал, что у него/она есть формула и для циклов, которые печатают результаты на консоль, и он/она хочет захватить результаты в матрице. Я создал набор данных игрушек и провел регрессии в цикле и извлек результаты в кадр данных. Общая идея может быть применена к фактической проблеме OP. –
Итак, у вас есть текстовое представление данных? Если да, то на что это похоже? Если нет, что конкретно у вас есть? –
Добро пожаловать в SO. Взгляните на [R введение] (http://cran.r-project.org/doc/manuals/R-intro.pdf) для этого, если у вас все еще есть сомнения, попытайтесь привести пример и задать вопрос с код в нем. – marbel