如何读取 R 中的 .data 格式?
How to read .data format in R?
我需要在 R 中读取此数据集 https://psl.noaa.gov/data/correlation/tsa.data。
我试过了:
TSA <- read.table("https://psl.noaa.gov/data/correlation/tsa.data", fileEncoding="UTF-16", dec=";")
在此数据集中,每一列代表从一月到十二月(从左到右)的月份,每一行代表年份。
我需要从中构建时间序列数据框,以便分析数据。
我想如果我可以旋转 table 来生成这样的数据帧 (tsibble),那会是多么理想:
YearMonth TSA
1948 jan -0.22
1948 feb -0.12
1948 mar 0.04
1948 may -0.21
... ...
2021 sep 0.55
因为我在 R 中阅读这种格式有困难,我想我会在这里得到很好的帮助建议。
如果你愿意使用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 package (v2.0.0)
于 2021-10-19 创建
我需要在 R 中读取此数据集 https://psl.noaa.gov/data/correlation/tsa.data。
我试过了:
TSA <- read.table("https://psl.noaa.gov/data/correlation/tsa.data", fileEncoding="UTF-16", dec=";")
在此数据集中,每一列代表从一月到十二月(从左到右)的月份,每一行代表年份。
我需要从中构建时间序列数据框,以便分析数据。
我想如果我可以旋转 table 来生成这样的数据帧 (tsibble),那会是多么理想:
YearMonth TSA
1948 jan -0.22
1948 feb -0.12
1948 mar 0.04
1948 may -0.21
... ...
2021 sep 0.55
因为我在 R 中阅读这种格式有困难,我想我会在这里得到很好的帮助建议。
如果你愿意使用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 package (v2.0.0)
于 2021-10-19 创建