我正在寻找B1(newx)线性模型系数的值,而不是名称。 我只是想要0.5的值。 我不想要“newx”这个名字。 newx <- c(0.5,1.5.2.5) newy <- c(2,3,4) out <- lm(newy ~ newx) out看起来像: Call: lm(formula = newy ~ newx) Coefficients: (Intercept) newx 1.5 1.0 我到了这里 但现在我卡住了。 out$coefficients["newx"] newx 1.0
Stargazer为lm(和其他)物品生产非常好的乳胶桌子。 假设我已经最大可能地拟合了一个模型。 我想要观星者为我的估计制作一个类似于lm的桌子。 我怎样才能做到这一点? 虽然这有点不好意思,但是有一种方法可能是创build一个包含我的估计的“虚假”lm对象 – 我认为只要summary(my.fake.lm.object)有效,就会工作。 这很容易做到吗? 一个例子: library(stargazer) N <- 200 df <- data.frame(x=runif(N, 0, 50)) df$y <- 10 + 2 * df$x + 4 * rt(N, 4) # True params plot(df$x, df$y) model1 <- lm(y ~ x, data=df) stargazer(model1, title="A Model") # I'd like to produce a similar table for the model […]
我有一个调查药物利用率的时间序列数据的回归模型。 目的是将时间序列拟合成95%CI等。模型如下: id <- ts(1:length(drug$Date)) a1 <- ts(drug$Rate) a2 <- lag(a1-1) tg <- ts.union(a1,id,a2) mg <-lm (a1~a2+bs(id,df=df1),data=tg) mg的总结输出是: Call: lm(formula = a1 ~ a2 + bs(id, df = df1), data = tg) Residuals: Min 1Q Median 3Q Max -0.31617 -0.11711 -0.02897 0.12330 0.40442 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.77443 0.09011 8.594 1.10e-11 […]
我跑了一个回归: CopierDataRegression <- lm(V1~V2, data=CopierData1) 我的任务是获得一个 给定V2=6和V2=6的平均响应的90% 置信区间 当V2=6时预测间隔为 90%。 我使用了下面的代码: X6 <- data.frame(V2=6) predict(CopierDataRegression, X6, se.fit=TRUE, interval="confidence", level=0.90) predict(CopierDataRegression, X6, se.fit=TRUE, interval="prediction", level=0.90) 我得到了(87.3, 91.9)和(74.5, 104.8) ,这似乎是正确的,因为PI应该更宽。 两者的输出也包括se.fit = 1.39这是相同的。 我不明白这个标准错误是什么。 PI与CI的标准误差不应该大于? 如何在R中find这两个不同的标准错误? 数据: CopierData1 <- structure(list(V1 = c(20L, 60L, 46L, 41L, 12L, 137L, 68L, 89L, 4L, 32L, 144L, 156L, 93L, 36L, 72L, 100L, […]
好吧,这是一个奇怪的。 我怀疑这是data.table内部的一个bug,但是如果有人能解释为什么会发生这种情况,那么这将是有用的 – update在做什么? 我在data.table里面使用list(list())技巧来存储拟合的模型。 当您为不同的分组创build一个lm对象序列,然后update这些模型时,所有模型的模型数据将变为最后一个分组的模型数据。 这似乎是一个参考挂在哪里应该有一个副本,但我无法find哪里,我不能在lm之外重现此update 。 具体例子: 从虹膜数据开始,先将这三种物种的样本大小进行比较,然后对每个物种进行lm模型拟合,更新这些模型: set.seed(3) DT = data.table(iris) DT = DT[rnorm(150) < 0.9] fit = DT[, list(list(lm(Sepal.Length ~ Sepal.Width + Petal.Length))), by = Species] fit2 = fit[, list(list(update(V1[[1]], ~.-Sepal.Length))), by = Species] 原始数据表的每个种类都有不同的数字 DT[,.N, by = Species] # Species N # 1: setosa 41 # 2: versicolor 39 # […]
我在R中使用预测和lm函数时发现了特殊性。对于相同的数据,我得到了不同的dataframe和向量的结果。 数据框代码: data(mtcars) fitCar<-lm(mtcars$mpg~mtcars$wt) predict(fitCar, data.frame(x=mean(mtcars$wt)), interval="confidence") 输出: fit lwr upr 1 23.282611 21.988668 24.57655 2 21.919770 20.752751 23.08679 3 24.885952 23.383008 26.38890 4 20.102650 19.003004 21.20230 5 18.900144 17.771469 20.02882 6 18.793255 17.659216 19.92729 7 18.205363 17.034274 19.37645 8 20.236262 19.136179 21.33635 9 20.450041 19.347720 21.55236 10 18.900144 17.771469 20.02882 11 18.900144 17.771469 20.02882 […]
我是R新手,我想用*apply函数来改进下面的脚本(我已经阅读了关于apply ,但是我无法设法使用它)。 我想在多个独立variables(它们是数据框中的列)上使用lm函数。 我用了 for (i in (1:3) { assign(paste0('lm.',names(data[i])), lm(formula=formula(i),data=data)) } Formula(i)被定义为 formula=function(x) { as.formula ( paste(names(data[x]),'~', paste0(names(data[-1:-3]), collapse = '+')), env=parent.frame() ) } 谢谢。
我想使用lm()函数在R中进行线性回归。 我的数据是一个年度(22年)和一个州(50个州)的年度时间序列。 我想要适合每个状态的回归,最后我有一个lm响应向量。 我可以想象为每个状态做循环,然后在循环内进行回归,并将每个回归的结果添加到一个向量中。 但是,这看起来不像R。 在SAS中,我会做一个“按”的声明,在SQL中,我会做一个“分组”。 R的做法是什么?