ggplot2 中的线性回归
Linear Regression in ggplot2
首先是我的数据:
dput(df_TB_d[1:10,])
structure(list(Name = c("Baden-Württemberg", "Bayern", "Berlin",
"Brandenburg", "Bremen", "Hamburg", "Hessen", "Mecklenburg-Vorpommern",
"Niedersachsen", "Nordrhein-Westfalen"), Land = c("BW", "BY",
"BE", "BB", "HB", "HH", "HE", "MV", "NI", "NW"), Studierende = c(331424,
348590, 142923, 50800, 32522, 72500, 211539, 39738, 183916, 643135
), Bevoelkerung = c(10879618, 12843514, 3520031, 2484826, 671489,
1787408, 6176172, 1612362, 7926599, 17865516), Grundmittel = c(3065086400,
3145532700, 1370039300, 285097600, 216487680, 605016000, 2054458300,
463440300, 2051042000, 6165363300), Ausg_stud = c(9248.23307907695,
9023.58845635273, 9585.85602037461, 5612.15748031496, 6656.65334235287,
8345.04827586207, 9711.95996955644, 11662.3961950778, 11152.0585484678,
9586.42166885646)), row.names = c(NA, 10L), class = "data.frame")
我需要绘制一个如下所示的图表:
https://www.learnbyexample.org/r-scatter-plot-base-graph/
x 轴为“Bevoelkerung”,y 轴为“Studierende”。
我使用 ggplot2,因为我需要典型的灰色背景。
到目前为止我的命令:
ggplot()+
geom_point(data=df_TB_d,
mapping = aes(x=Bevoelkerung, y=Studierende))
我的问题:我不能进行线性回归。当然,我搜索了该命令,但每当我执行它时(我尝试了很多方法),我都会收到错误消息:
non-numeric argument to binary operator
谁能告诉我我哪里做错了?
还有:我需要把点转换成联邦州的缩写,例如,代表柏林的点不再是点,而是柏林的“BE”。
非常感谢您的宝贵时间和帮助
您可以对回归线使用 geom_smooth
,对标签使用 geom_text
。
ggplot(df_TB_d, aes(x=Bevoelkerung, y=Studierende)) +
geom_text(aes(label = Land)) +
geom_smooth(method = "lm", se = FALSE)
结果:
首先是我的数据:
dput(df_TB_d[1:10,])
structure(list(Name = c("Baden-Württemberg", "Bayern", "Berlin",
"Brandenburg", "Bremen", "Hamburg", "Hessen", "Mecklenburg-Vorpommern",
"Niedersachsen", "Nordrhein-Westfalen"), Land = c("BW", "BY",
"BE", "BB", "HB", "HH", "HE", "MV", "NI", "NW"), Studierende = c(331424,
348590, 142923, 50800, 32522, 72500, 211539, 39738, 183916, 643135
), Bevoelkerung = c(10879618, 12843514, 3520031, 2484826, 671489,
1787408, 6176172, 1612362, 7926599, 17865516), Grundmittel = c(3065086400,
3145532700, 1370039300, 285097600, 216487680, 605016000, 2054458300,
463440300, 2051042000, 6165363300), Ausg_stud = c(9248.23307907695,
9023.58845635273, 9585.85602037461, 5612.15748031496, 6656.65334235287,
8345.04827586207, 9711.95996955644, 11662.3961950778, 11152.0585484678,
9586.42166885646)), row.names = c(NA, 10L), class = "data.frame")
我需要绘制一个如下所示的图表: https://www.learnbyexample.org/r-scatter-plot-base-graph/
x 轴为“Bevoelkerung”,y 轴为“Studierende”。
我使用 ggplot2,因为我需要典型的灰色背景。
到目前为止我的命令:
ggplot()+
geom_point(data=df_TB_d,
mapping = aes(x=Bevoelkerung, y=Studierende))
我的问题:我不能进行线性回归。当然,我搜索了该命令,但每当我执行它时(我尝试了很多方法),我都会收到错误消息:
non-numeric argument to binary operator
谁能告诉我我哪里做错了?
还有:我需要把点转换成联邦州的缩写,例如,代表柏林的点不再是点,而是柏林的“BE”。
非常感谢您的宝贵时间和帮助
您可以对回归线使用 geom_smooth
,对标签使用 geom_text
。
ggplot(df_TB_d, aes(x=Bevoelkerung, y=Studierende)) +
geom_text(aes(label = Land)) +
geom_smooth(method = "lm", se = FALSE)
结果: