Предположим, что у меня есть этот кадр R данные:Создание вектора кадров данных подмножеств, основанных на группе столбцов
ts year month day
1 1295234818000 2011 1 17
2 1295234834000 2011 1 17
3 1295248650000 2011 1 17
4 1295775095000 2011 1 23
5 1296014022000 2011 1 26
6 1296098704000 2011 1 27
7 1296528979000 2011 2 1
8 1296528987000 2011 2 1
9 1297037448000 2011 2 7
10 1297037463000 2011 2 7
dput(a)
structure(list(ts = c(1295234818000, 1295234834000, 1295248650000,
1295775095000, 1296014022000, 1296098704000, 1296528979000, 1296528987000,
1297037448000, 1297037463000), year = c(2011, 2011, 2011, 2011,
2011, 2011, 2011, 2011, 2011, 2011), month = c(1, 1, 1, 1, 1,
1, 2, 2, 2, 2), day = c(17, 17, 17, 23, 26, 27, 1, 1, 7, 7)), .Names = c("ts",
"year", "month", "day"), row.names = c(NA, 10L), class = "data.frame")
Есть ли способ, чтобы создать вектор кадров данных, где каждый из них является подмножеством оригинал с уникальными комбинациями из года, месяца и дня? В идеале, я хотел бы получить обратно кадры данных DF1, df2, DF3, df4, DF5 и DF6, в том порядке, в котором:
DF1:
ts year month day
1 1295234818000 2011 1 17
2 1295234834000 2011 1 17
3 1295248650000 2011 1 17
DF2:
4 1295775095000 2011 1 23
DF3:
5 1296014022000 2011 1 26
DF4:
6 1296098704000 2011 1 27
DF5:
7 1296528979000 2011 2 1
8 1296528987000 2011 2 1
DF6:
9 1297037448000 2011 2 7
10 1297037463000 2011 2 7
Любая помощь будет оценена.
Используйте функцию разделения на день. Взгляните на этот пост: http://stackoverflow.com/a/16038343/3248346 –
Кроме того, «взаимодействие» может быть полезно, если я правильно понимаю, что вы хотите. Что-то вроде 'split (a, взаимодействие ($ year, $ month, a $ day, drop = T)). –
@alexis_laz - 'drop = TRUE' также может передаваться как аргумент непосредственно в' split', поэтому это также будет работать: 'with (a, split (a, list (year, month, day), drop = TRUE)) ' – thelatemail