Как я могу разделить data.frame? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть 50 синопти c станций данных об осадках с 1986 по 2015 год.

Мне нужно отсортировать соответствующую информацию за период с 2007 по 2015 годы для каждой станции отдельно. Я имею в виду, что есть три переменные:

  1. название станции
  2. специфика c год
  3. количество осадков

Мне нужен результат для каждой станции отдельно. Кто-нибудь знает, как использовать для этого «сплит»? Можете ли вы написать коды с самого начала "read.table"?

1 Ответ

0 голосов
/ 30 апреля 2020

Если ваша задача просто разделить фрейм данных на year, вы можете использовать split:

split(df, f = df$year)

Иллюстративные данные:

(set.seed(123)
df <- data.frame(
  station = sample(LETTERS[1:3],10, replace = T),
  year = paste0("201", sample(1:9, 10, replace = T)),
  precipitation = sample(333:444, 10, replace = T)
)

Результат:

$`2011`
  station year precipitation
5       C 2011           406
8       C 2011           399

$`2013`
  station year precipitation
7       B 2013           393
9       B 2013           365

$`2015`
  station year precipitation
2       C 2015           410

$`2016`
  station year precipitation
4       C 2016           444

$`2017`
  station year precipitation
3       B 2017           404

$`2019`
   station year precipitation
1        A 2019           432
6        A 2019           412
10       B 2019           349
...