# 从NOAA API获取数据 - 使用正确参数
noaa_url <- "https://www.ncei.noaa.gov/access/services/data/v1?dataset=daily-summaries&stations=USW00094728&startDate=2023-01-01&endDate=2023-12-31&dataTypes=PRCP,SNOW,TMAX,TMIN,AWND,WDF2"
# 修正的数据获取和处理流程
ny_weather <- GET(noaa_url) %>%
content(as = "text", encoding = "UTF-8") %>% # 正确使用content函数
read_csv() %>%
# 使用正确的列名:TMIN代替TWIN,AWND代替AMND
select(DATE, PRCP, SNOW, TMAX, TMIN, AWND, WDF2) %>%
mutate(
DATE = as.Date(DATE),
# 转换并格式化温度值
TMAX = round((TMAX - 32) * 5/9, 3),
TMIN = round((TMIN - 32) * 5/9, 3)
) %>%
# 修正过滤条件:保留非缺失值
filter(!is.na(PRCP) & !is.na(AWND)) %>%
rename(date = DATE)
# 展示前10行数据
datatable(
head(ny_weather, 10),
caption = "表3.1 纽约中央公园2023年气象数据(前10行)",
options = list(scrollX = TRUE, pageLength = 5)
)
Rows: 364
Columns: 7
$ date <date> 2023-01-01, 2023-01-02, 2023-01-03, 2023-01-04, 2023-01-05, 2023…
$ PRCP <dbl> 0, 5, 107, 5, 3, 69, 0, 0, 3, 0, 0, 76, 23, 0, 0, 0, 0, 13, 221, …
$ SNOW <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ TMAX <dbl> 53.333, 56.111, 62.222, 87.222, 37.778, 34.444, 22.222, 10.000, 1…
$ TMIN <dbl> 34.444, 34.444, 28.333, 34.444, 19.444, 3.889, -2.222, -14.444, -…
$ AWND <dbl> 22, 16, 14, 20, 23, 24, 30, 21, 20, 19, 29, 22, 32, 40, 43, 34, 1…
$ WDF2 <dbl> 310, 230, 250, 240, 60, 280, 310, 300, 310, 10, 70, 140, 310, 360…