R语言写(1)以2021年数据为例,探究全国主要城市空气污染物排放情况与空气质量情况之间有无显著关系;如果有,构建模型概括全国主要城市空气污染物排放情况与空气质量情况之间的相关性,画图。
时间: 2024-03-03 08:50:45 浏览: 163
好的,下面是使用R语言进行相关性和回归分析的示例代码:
```R
# 读取数据
air_quality <- read.csv("air_quality_data.csv", header = TRUE, sep = ",")
# 计算相关系数矩阵
corr_matrix <- cor(air_quality[, 2:6])
# 画相关性热力图
library(ggplot2)
ggplot(data = melt(corr_matrix), aes(x = Var1, y = Var2, fill = value)) +
geom_tile(color = "white") +
scale_fill_gradient2(low = "blue", mid = "white", high = "red",
midpoint = 0, limit = c(-1,1), space = "Lab",
name="Pearson\nCorrelation") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, vjust = 1,
size = 12, hjust = 1)) +
coord_fixed()
# 构建线性回归模型
model <- lm(AQI ~ PM2.5 + PM10 + SO2 + NO2 + CO, data = air_quality)
# 输出模型系数和截距
summary(model)
# 画出预测值和真实值的散点图
library(ggplot2)
ggplot(data = air_quality, aes(x = AQI, y = predict(model))) +
geom_point(alpha = 0.5, size = 3, color = "red") +
geom_abline(intercept = coef(model)[1], slope = coef(model)[-1],
color = "blue", size = 1.5) +
labs(title = "Predicted vs. Actual AQI", x = "Actual AQI", y = "Predicted AQI") +
theme_minimal()
```
这个示例代码假设数据已经被存储为名为`air_quality_data.csv`的CSV文件。在这个文件中,每一行代表一个城市,包含空气质量指数(AQI)、PM2.5、PM10、SO2、NO2和CO等空气污染物的排放量等数据。
代码中的相关性分析使用了R中的`cor()`函数来计算相关系数矩阵,然后用ggplot2库来画出相关性热力图。同时,线性回归模型使用了R中的`lm()`函数来构建,然后用预测值和真实值的散点图进行可视化。
需要注意的是,这个示例代码仅仅是一个简单的例子,实际的分析需要更加复杂和全面。
阅读全文