我想将回归线方程和 r 平方值添加到我的ggplot2散点图中。
我发现了一个类似的问题,它给出了下面的代码,但是当我通过截距强制回归时它不起作用:
library(devtools)
source_gist("524eade46135f6348140")
df = data.frame(x = c(1:100))
df$y = 2 + 5 * df$x + rnorm(100, sd = 40)
ggplot(data = df, aes(x = x, y = y, label=y)) +
stat_smooth_func(geom="text",method="lm",hjust=0,parse=TRUE, formula=y~x-1) +
geom_smooth(method="lm",se=FALSE, formula=y~x-1) +
geom_point()
Run Code Online (Sandbox Code Playgroud)
通过添加formula=y~x-1,显示的文本显示系数为截距,截距为NA。有没有办法解决这个问题?
我尝试将公式传递给 lm()。但是,当我执行以下操作时:
independend_vars <- c("PC_1_food_men","covar_prev_diab")
dependent_var <- c("PC_1_mets_men", "PC_2_mets_men", "PC_3_mets_men")
var_names <- independend_vars
formula <- as.formula(paste0(dependent_var, "~", paste0(var_names, collapse = "+")))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Warning:
Using formula(x) is deprecated when x is a character vector of length > 1.
Consider formula(paste(x, collapse = " ")) instead.
Run Code Online (Sandbox Code Playgroud)
有谁知道问题出在哪里?
在线性模型的公式定义中转换模型是一个好习惯吗?
例如:
reg1 <- lm(log(Y) ~ X + Z + (W)^2, data = data)
Run Code Online (Sandbox Code Playgroud)
当我只有W,X,Y,Z在数据而不是转化变量?W^2当我打电话给总结时,我没有看到列出reg1.
我有很多交互术语,我想要将这些系数的名称输出到LaTeX,而不是那么麻烦.
我不想事先在我的数据框架中生成所有交互,这是一个很大的麻烦.
我正在尝试使用 R 进行多项式回归lm,我有
Time=c(1980:2016)
y= rnorm(length(Time))
Run Code Online (Sandbox Code Playgroud)
我用了 :
reg=lm(y~poly(Time,2))
round(reg$coefficients,3)
Run Code Online (Sandbox Code Playgroud)
这使 :
(Intercept) poly(Time, 2)1 poly(Time, 2)2
-0.110 -1.298 0.172
Run Code Online (Sandbox Code Playgroud)
和 :
Time2=Time^2
reg2=lm(y~Time+Time2)
round(reg2$coefficients,3)
Run Code Online (Sandbox Code Playgroud)
它给
(Intercept) Time Time2
1146.590 -1.128 0.000
Run Code Online (Sandbox Code Playgroud)
哪里有问题?
我可以使用该anova函数来获得线性模型的ANOVA表.然而,这给出了每个解释变量对响应变量的单独影响.我想知道R中是否有任何函数可以获得overall ANOVA所有解释变量对响应变量的总体影响.在此先感谢您的帮助.
set.seed(12345)
X1 <- 10*abs(rnorm(n=10, mean = 5, sd = 1))
X2 <- 20*abs(rnorm(n=10, mean = 4, sd = 2))
Y <- 50*abs(rnorm(n=10, mean = 10, sd = 4))
df <- data.frame(X1, X2, Y)
fm1 <- lm(formula=Y~X1+X2, data=df)
anova(fm1)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X1 1 37842 37842 0.7815 0.406
X2 1 115774 115774 2.3910 0.166
Residuals 7 338941 48420
Run Code Online (Sandbox Code Playgroud)
编辑(2017-10-23)
所需的输出是
Analysis of Variance …Run Code Online (Sandbox Code Playgroud) 我有一个线性模型,我想每周使用更新的数据运行一次,然后提取并打印估计系数和标题。例如:
data <- mtcars
fit <- lm(mpg ~ cyl + disp + hp, data = data)
summary(fit)
Call:
lm(formula = mpg ~ cyl + disp + hp, data = data)
Residuals:
Min 1Q Median 3Q Max
-4.0888899 -2.0845357 -0.7744705 1.3971991 6.9183052
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 34.18491917 2.59077758 13.19485 0.00000000000015372 ***
cyl -1.22741994 0.79727631 -1.53952 0.134904
disp -0.01883809 0.01040369 -1.81071 0.080929 .
hp -0.01467933 0.01465087 -1.00194 0.324952
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ …Run Code Online (Sandbox Code Playgroud) lm ×7
r ×7
regression ×2
anova ×1
coefficients ×1
formula ×1
ggplot2 ×1
rename ×1
statistics ×1
text ×1