Pivot_wider сохраняет длину исходного фрейма данных - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь изменить форму длинного кадра данных, состоящего из 40-летних ежедневных данных для 11 станций. Фрейм данных состоит из каждого 40-летнего блока, соединенного вместе. Каждая станция имеет следующие данные:

date    datatype station               value fl_m   fl_q    fl_so   fl_t
1/1/1979    PRCP    GHCND:USC00120784   396         0   700
1/2/1979    PRCP    GHCND:USC00120784   66          0   700
1/3/1979    PRCP    GHCND:USC00120784   3           0   700
1/4/1979    PRCP    GHCND:USC00120784   0           0   700
1/5/1979    PRCP    GHCND:USC00120784   13          0   700
1/6/1979    PRCP    GHCND:USC00120784   25          0   700
1/7/1979    PRCP    GHCND:USC00120784   64          0   700
1/8/1979    PRCP    GHCND:USC00120784   30          0   700
1/9/1979    PRCP    GHCND:USC00120784   0           0   700

Столбец станции содержит 11 уникальных значений для каждого сайта. Диапазон столбцов дат - с 01.01.1979 по 31.12.2019.

Когда я pivot_wider:

fin <- pivot_wider(data= fin, names_from = station, values_from = value )

он работает так, что он меняет форму на 11 уникальных станций в столбцы, но каждая дата для каждой станции все еще находится в кадре данных, так что у меня одинаковое количество строк и NA. Должна ли дата быть уникальной для каждой станции?

Я заранее прошу прощения за плохо сформулированный или плохо сформулированный вопрос. Это мой первый раз и я новичок в R. Спасибо.

Первые два дня 1979 года для двух станций:

Row     date       datatype station            value fl_m   fl_q  fl_so fl_t
1       1/1/1979    PRCP    GHCND:USC00120784   396               0 700
2       1/2/1979    PRCP    GHCND:USC00120784   66                0 700
14765   1/1/1979    PRCP    GHCND:USC00120877   386               0 700
14766   1/2/1979    PRCP    GHCND:USC00120877   56                0 700
29490   1/1/1979    PRCP    GHCND:USC00123082   15                0 2400
29491   1/2/1979    PRCP    GHCND:USC00123082   13                0 2400
...