I have a rather large data frame. Here is a simplified example:

```
Group Element Value Note
1     AAA     11    Good
1     ABA     12    Good
1     AVA     13    Good
2     CBA     14    Good
2     FDA     14    Good
3     JHA     16    Good
3     AHF     16    Good
3     AKF     17    Good

```

Here it is as a `dput`:

```
dat <- structure(list(Group = c(1L, 1L, 1L, 2L, 2L, 3L, 3L, 3L), Element = structure(c(1L, 
2L, 5L, 6L, 7L, 8L, 3L, 4L), .Label = c("AAA", "ABA", "AHF", 
"AKF", "AVA", "CBA", "FDA", "JHA"), class = "factor"), Value = c(11L, 
12L, 13L, 14L, 14L, 16L, 16L, 17L), Note = structure(c(1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L), .Label = "Good", class = "factor")), .Names = c("Group", 
"Element", "Value", "Note"), class = "data.frame", row.names = c(NA, 
-8L))

```

I'm trying to separate it based on the group. so let's say 

Group 1 will be a data frame:

```
Group Element Value Note
1     AAA     11    Good
1     ABA     12    Good
1     AVA     13    Good

```

Group 2:

```
2     CBA     14    Good
2     FDA     14    Good

```

and so on.