Обработка данных в длинном формате в R

70
6

Я создал кадр данных в longformat, который имеет 5 переменных (название компании, ключевой элемент, страна происхождения, год и значение). Я хочу создать таблицу со значениями значений одного ключевого элемента за каждый год. Вот что мне удалось:

for(i in dat$Year) {
dat[dat$KeyItem == "Total Assets" & dat$Year == i, ]
FUN1 <- mean(dat$Value, na.rm = TRUE)

}

У меня почти нет опыта работы в R, и я сожалею, если этот вопрос слишком прост. Спасибо, ребята, за вашу помощь.

спросил(а) 2012-10-25T12:49:00+04:00 8 лет назад
1
Решение
71

Поскольку вы не делитесь своими данными, немного сложно судить о том, чего вы хотите точно. Возможно, вы хотите использовать ddply из пакета plyr:

mean_values = ddply(dat, .(key_item, year), summarise, mn_value = mean(Value))

Если ваш набор данных становится действительно большим, вы можете выбрать для себя пакет данных. data.table пакет, который быстро data.table в этих случаях. Для средних размеров ddply также может быть медленнее, но достаточно быстро.

ответил(а) 2012-10-25T12:52:00+04:00 8 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема