Самый быстрый способ присвоить значения в кадре данных для матрицы в R? - PullRequest
0 голосов
/ 26 июня 2018

У меня очень большой фрейм данных с Timestamp, StationId и Value в качестве имен столбцов.

Я хотел бы создать новую матрицу, где строки - это Timestamp, столбцы - это StationIds, а элементы матрицы - это значения.

Я пытался сделать это с помощью цикла, но это занимает очень много времени:

for (row in 1:nrow(res)) 
{
rmatrix[toString(res[row,"Timestamp"]),toString(res[row,"StationId"])] <- 
res[row,"Value"]
}

Фрейм данных res выглядит следующим образом. Временные метки предназначены длягод, с интервалом 5 минут.Есть 62 уникальных идентификатора станции.Элементы в столбце «Значение» фактически являются значениями осадков.

Матрица, в которую я пытаюсь перегруппировать данные, выглядит следующим образом. Каждая строка представляет собой уникальную метку времени с интервалом 5 минут.Каждый столбец - это идентификатор станции.Предполагается, что элементы матрицы должны быть значением количества осадков для этой станции в то время.

Есть ли более быстрый способ сделать это?

1 Ответ

0 голосов
/ 26 июня 2018
library(tidyverse)

df <- res %>% spread(StationIds,Values)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...