I have a dataframe with 1000+ rows in a long format. I need to pivot into wider format using the ID as the pivoter. Pivoting it using pivot_wider only returns values in the first column, but not all of the columns.
Here is my code:
#Test data
df <- data.frame(
ID = c(TRCC1, TRCC1, DNRC1, ILAC1),
AJ_Vol = c(14.454166, 14.976905, 11.344002, 5.673755)
)
# Use spread to pivot the dataframe
wide_df <- pivot_wider(df, names_from = ID, values_from = AJ_Vol, values_fn = list(AJ_Vol = list))
This what the data looks like in long. head(wide_df,100)
| ID | AJ_Vol | |
|---|---|---|
| 21 | TRCC1 | 14.454166 |
| 22 | TRCC1 | 14.976905 |
| 46 | DNRC1 | 11.344002 |
| 86 | ILAC1 | 5.673755 |
Here is what I want it to look like:
| TRCC1 | DNRC1 | ILAC1 |
|---|---|---|
| 14.454166 | 11.344002 | 5.673755 |
| 14.976905 |
We need to create a column that distinguishes between different observations of the same ID:
Result:
Assuming data: