Я бы хотел взять ввод даты следующим образом:
library(plyr)
names(ChickWeight) <- tolower(names(ChickWeight))
ChickWeight$diet.name <- as.factor(revalue(ChickWeight$diet, c("1" = "Grain", "2" = "Grubs", "3" = "Scraps", "4" = "Free Range")))
, который создает:
> head(ChickWeight)
weight time chick diet diet.name
1 42 0 1 1 Grain
2 51 2 1 1 Grain
3 59 4 1 1 Grain
4 64 6 1 1 Grain
5 76 8 1 1 Grain
6 93 10 1 1 Grain
> tail(ChickWeight)
weight time chick diet diet.name
573 155 12 50 4 Free Range
574 175 14 50 4 Free Range
575 205 16 50 4 Free Range
576 234 18 50 4 Free Range
577 264 20 50 4 Free Range
578 264 21 50 4 Free Range
И из этих данных извлеките другой набор данных (chick.feed
), который выглядит следующим образом:
chick diet.name
1 Grain
2 Grain
. .
. .
. .
21 Grubs
22 Grubs
. .
. .
. .
31 Scraps
32 Scraps
. .
. .
. .
49 Free Range
50 Free Range
Т.е. я хотел бы создать "сводную таблицу" (chick.feed
), в которой вычисляемое значение для каждой строки (здесь chick
) является буквенным значением ("фактор" в R-говорить) все различные ряды для этой цыпочки в ChickWeight
.
(Мой вопрос, похоже, похож, но не идентичен с вопросом о преобразовании длинных данных в широкие .)