Создать панель данных - PullRequest
0 голосов
/ 16 июня 2019

Я хотел бы создать панель данных.Моя проблема заключается в следующем.

Я хочу отслеживать 4 переменные для более чем 1000 городов за период 1800-1921 гг.На данный момент у меня есть кадр данных в R со следующими столбцами: город, идентификатор, год, страна, широта, долгота, преследования, изгнание, погром, чума.

В идеале, яЯ хотел бы расширить этот фрейм данных, чтобы у меня было для каждого города : 121 строка (с 1800 по 1921 год), с идентичными значениями города, идентификатора, страны, широты, долготы, но преследований, изгнания, погрома,Чума, всем присвоено значение 0.

Мне сказали, что функция reshape 2 может помочь, хотя я еще не нашел никакого рабочего решения.Вот код, который я попытался (безуспешно адаптировать)

g <- with(data, expand.grid(year = seq(1800, 1921), id = unique(id), persecutions = 0, expulsion = 0, pogrom = 0, plague = 0)) #
data <- rbind(data, g) #

wide <- dcast(data, year ~ id, fill = 0, fun = sum, value.var = c("persecutions", "expulsion", "pogrom", "plague))
long <- melt(wide, id = "year", variable.name = "id", value.name = c("persecutions", "expulsion", "pogrom", "plague))

long <- long[order(long$id, long$year), c("id", "year", c("persecutions", "expulsion", "pogrom", "plague))]

Все мысли будут очень полезны.enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...