Привет! RStudio может вам помочь для статистических расчетов. Вот мы загрузим архив температур и осадков со всех метеостанций России с 1961 года. В одном текстовом файле данные 600 станций, и его нельзя открыть в Эксель т.к. он слишком большой. Но RStudio запросто его откроет. И мгновенно вычислит предварительную статистику командой summary. А функция names даёт названия столбцам архива data.
library(readr)
data <- read_delim("temp_i_osadki_s_1961_all_stations.txt",
delim = ";", escape_double = FALSE, col_names = FALSE,
trim_ws = TRUE)
## Rows: 12608781 Columns: 6
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## dbl (6): X1, X2, X3, X4, X5, X6
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
names(data) <- c("index", "year", "mon", "day", "temp", "osadki")
summary(data)
## index year mon day
## Min. :20046 Min. :1961 Min. : 1.000 Min. : 1.00
## 1st Qu.:25173 1st Qu.:1975 1st Qu.: 4.000 1st Qu.: 8.00
## Median :29605 Median :1990 Median : 7.000 Median :16.00
## Mean :29298 Mean :1990 Mean : 6.522 Mean :15.73
## 3rd Qu.:32363 3rd Qu.:2005 3rd Qu.:10.000 3rd Qu.:23.00
## Max. :38987 Max. :2020 Max. :12.000 Max. :31.00
##
## temp osadki
## Min. :-63.50 Min. : 0.00
## 1st Qu.: -9.00 1st Qu.: 0.00
## Median : 2.30 Median : 0.00
## Mean : 0.49 Mean : 1.37
## 3rd Qu.: 12.50 3rd Qu.: 0.90
## Max. : 39.80 Max. :258.40
## NA's :256459 NA's :228692
Но раз мы находимся в Якутии, то выберем из архива метеостанции Якутского УГМС. Это легко! Благо у меня уже есть список в Эксель, где вписаны индексы якутских метеостанций.
library(readxl)
spisok_45_station_YKT <- read_excel("spisok_45_station_YKT.xlsx")
vec <- spisok_45_station_YKT$index[1:45] #спиок станций Якутии
Мы получили vec - это вектор, который содержит 45 индексов якутских метеостанций
Команда subset чрезвычайно полезна при обработке таблиц. Давайте из огромного массива data выберем только якутские станции:
data <- subset(data, index %in% unique(vec))
#subset оставляет только те строки, где в столбце index есть индексы из vec
You can also embed plots, for example:
data_ykt <- subset(data, index == 24959 & mon == 12 ) # если имена в векторе.
plot(y=data_ykt$temp, col = "blue", x=data_ykt$year, xlab = " ", ylab = "Температура", main = "Среднесуточная температура воздуха в декабре", sub = "г. Якутск, период 1961-2020 гг.", )
и на этом наше вводное занятие заканчивается.