How can I collapse columns of rows, giving that they share unique values?

I have a data frame like this:

```
Group   Status  Temperature     Ref
A       Moving                  1   
A               Cold            1   
B       Static                  1   
B               Warm            2   
C       Static  Temperate       3   
C               Temperate       3

```

And my desired output is

```
Group   Status  Temperature     Ref
A       Moving  Cold            1   
B       Static  Warm            1;2
C       Static  Temperate       3   

```

It's supposedly simple, but when I did

```
aggregate(df$Temperature, list(df$Group), paste, collapse=",")

```

or

```
df %>%
  group_by(Group) %>%
  summarise(Temperature=paste(Temperature, collapse=''))

```

I only partial columns, depending on which columns I selected.