Source
R 自带的 datasets::airquality。它记录了 1973 年 5–9 月纽约的每日臭氧、太阳辐射、风速与温度,共 153 天。
这里的 CSV 由 R 4.5.1 自带数据原样导出;字段说明与数据出处见 R 官方文档。
Use cases
- 分层密度图:比较 5–9 月每日温度分布的位置与形状
- 时间序列:沿日期观察温度、风速或臭氧的变化
- 散点图:检查臭氧与温度、风速之间的关系
- 缺失值练习:比较删除、标记或插补缺失观测后的结果
Daily ozone, solar radiation, wind and temperature readings in New York across five months of 1973.
One row represents one day.
R package · 收录于 2026-08-11
| Ozone | Solar.R | Wind | Temp | Month | Day |
|---|---|---|---|---|---|
| 41.0 | 190.0 | 7.4 | 67 | 5 | 1 |
| 36.0 | 118.0 | 8 | 72 | 5 | 2 |
| 12.0 | 149.0 | 12.6 | 74 | 5 | 3 |
| 18.0 | 313.0 | 11.5 | 62 | 5 | 4 |
| NA | NA | 14.3 | 56 | 5 | 5 |
| 28.0 | NA | 14.9 | 66 | 5 | 6 |
| # | 变量 | 类型 | 缺失 | 统计 |
|---|---|---|---|---|
| 1 | OzonekeyOzone in parts per billion. | 整数 | 37 | min 1q1 —中位 31.5均值 42.1q3 —max 168.0 |
| 2 | Solar.RSolar radiation in Langleys. | 整数 | 7 | min 7q1 —中位 205.0均值 185.9q3 —max 334.0 |
| 3 | WindWind speed in miles per hour. | 双精度 | — | min 1.7q1 —中位 9.7均值 9.96q3 —max 20.7 |
| 4 | TempTemperature in degrees Fahrenheit. | 整数 | — | min 56.0q1 —中位 79.0均值 77.9q3 —max 97.0 |
| 5 | MonthMonth of 1973. | 整数 | — | min 5q1 —中位 7均值 6.99q3 —max 9 |
| 6 | DayDay of month. | 整数 | — | min 1q1 —中位 16.0均值 15.8q3 —max 31.0 |
library(readr)
airquality <- read_csv(
"https://assets.evanzhou.org/tessera/csv/airquality.csv",
col_types = cols(
Ozone = col_integer(),
Solar.R = col_integer(),
Wind = col_double(),
Temp = col_integer(),
Month = col_integer(),
Day = col_integer()
)
)https://assets.evanzhou.org/tessera/csv/airquality.csvR 自带的 datasets::airquality。它记录了 1973 年 5–9 月纽约的每日臭氧、太阳辐射、风速与温度,共 153 天。
这里的 CSV 由 R 4.5.1 自带数据原样导出;字段说明与数据出处见 R 官方文档。
# 产物写到 ../csv/airquality.csv —— 脚本和 CSV 是 content/tessera/data/ 下固定的兄弟目录,
# 所以按脚本自身定位,不依赖你在哪个目录敲这条命令。csv/ 不进仓库(见 .gitignore)。
#
# Rscript 时路径在 --file= 里,source() 时在 sys.frame()$ofile 里,两种都要认:
# 只取其中一种的话,另一种跑法会静默地把 CSV 写到当前目录去。
script_dir <- local({
arg <- grep("^--file=", commandArgs(trailingOnly = FALSE), value = TRUE)
path <- if (length(arg)) sub("^--file=", "", arg[[1L]]) else sys.frame(1)$ofile
dirname(normalizePath(path, mustWork = TRUE))
})
out_csv <- file.path(script_dir, "..", "csv", "airquality.csv")
dir.create(dirname(out_csv), recursive = TRUE, showWarnings = FALSE)
write.csv(
datasets::airquality,
out_csv,
row.names = FALSE,
na = "NA"
)表中统计由 scripts/profile_dataset.py 于 2026-08-11 数出。