Как создать компонентные (подмножества) фреймы данных в R на основе значений столбцов?

Я хотел бы разбить фрейм данных на несколько компонентных фреймов данных на основе значений в одном столбце. В моем примере я хочу разделить dat на dat.1, dat.2 и dat.3, используя значения в столбце «cond». Есть ли простая команда, которая могла бы достичь этого?

dat
sub cond    trial   time01  time02
1   1   1   2774    8845
1   1   2   2697    9945
1   2   1   2219    9291
1   2   2   3886    7890
1   3   1   4011    9032
2   2   1   3478    8827
2   2   2   2263    8321
2   3   1   4312    7576
3   1   1   4219    7891
3   3   1   3992    6674


dat.1               
sub cond    trial   time01  time02
1   1   1   2774    8845
1   1   2   2697    9945
3   1   1   4219    7891    

dat.2               
sub cond    trial   time01  time02
2   2   1   3478    8827
2   2   2   2263    8321
1   2   1   2219    9291
1   2   2   3886    7890

dat.3               
sub cond    trial   time01  time02
1   3   1   4011    9032
2   3   1   4312    7576
3   3   1   3992    6674

Возможно, поскольку я новичок в R, я до сих пор не определил, как это сделать, несмотря на то, что просматривал и пробовал решения, предложенные в нескольких похожих запросах на форуме. Заранее благодарим вас за любые ответы.

A dput () данных:

structure(list(sub = c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L
), cond = c(1L, 1L, 2L, 2L, 3L, 2L, 2L, 3L, 1L, 3L), trial = c(1L, 
2L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L), time01 = c(2774L, 2697L, 
2219L, 3886L, 4011L, 3478L, 2263L, 4312L, 4219L, 3992L), time02 = c(8845L, 
9945L, 9291L, 7890L, 9032L, 8827L, 8321L, 7576L, 7891L, 6674L
)), .Names = c("sub", "cond", "trial", "time01", "time02"), class = "data.frame", row.names = c(NA, 
-10L))
7
задан Reinstate Monica - G. Simpson 8 June 2011 в 11:51
поделиться