我需要在 R 中閱讀此資料集https://psl.noaa.gov/data/correlation/tsa.data。
我試過:
TSA <- read.table("https://psl.noaa.gov/data/correlation/tsa.data", fileEncoding="UTF-16", dec=";")
在這個資料集中,每一列代表從一月到十二月(從左到右)的月份,行代表年份。
我需要從中構建一個時間序列資料框,以便我可以分析資料。
如果我可以旋轉表格以生成像這樣的資料框(tsibble),我想象一些理想的東西:
YearMonth TSA
1948 jan -0.22
1948 feb -0.12
1948 mar 0.04
1948 may -0.21
... ...
2021 sep 0.55
由于我很難在 R 中閱讀這種格式,我想我會在這里得到很好的幫助建議。
uj5u.com熱心網友回復:
如果你愿意使用tidyverse,你可以嘗試這樣的事情。注意我skip = 1用來跳過第一行并n_max = 74跳過最后兩行。這可能需要針對其他資料集進行調整。
library(tidyverse)
read_table("https://psl.noaa.gov/data/correlation/tsa.data",
skip = 1,
n_max = 74,
col_names = FALSE) %>%
set_names(c('year', month.abb)) %>%
pivot_longer(-year,
names_to = 'month',
values_to = 'TSA')
#>
#> # A tibble: 888 x 3
#> year month TSA
#> <dbl> <chr> <dbl>
#> 1 1948 Jan -0.22
#> 2 1948 Feb -0.12
#> 3 1948 Mar 0.04
#> 4 1948 Apr -0.21
#> 5 1948 May -0.4
#> 6 1948 Jun -0.64
#> 7 1948 Jul -0.4
#> 8 1948 Aug -0.53
#> 9 1948 Sep -0.41
#> 10 1948 Oct -0.42
#> # ... with 878 more rows
由reprex 包( v2.0.0 )于 2021 年 10 月 19 日創建
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/326985.html
上一篇:ggplot2:如何根據比例梯度更改元素的渲染/繪圖順序?
下一篇:在R中圍繞坐標繪制多邊形
