I would like to reorganise an output in r, like a pivot table type transformation. My original data looks like this
df.age <- c("0-15","16-29","30-44", "45+", "0-15","16-29","30-44", "45+")
df.sex <- c("Female","Female","Female","Female","Male","Male","Male","Male")
Freq <- c(134,245,145,253,567,456,354,341)
df_start <- data.frame(df.age, df.sex, Freq)
> df_start
df.age df.sex Freq
1 0-15 Female 134
2 16-29 Female 245
3 30-44 Female 145
4 45+ Female 253
5 0-15 Male 567
6 16-29 Male 456
7 30-44 Male 354
8 45+ Male 341
I would like the result to look like this, so age is in rows and sex is in columns.
df.age <- c("0-15","16-29","30-44", "45+")
df.sex_Female <- c(134,245,145,253)
df.sex_Male <- c(567,456,354,341)
df_result <- data.frame(df.age, df.sex_Female, df.sex_Male)
> df_result
df.age df.sex_Female df.sex_Male
1 0-15 134 567
2 16-29 245 456
3 30-44 145 354
4 45+ 253 341
Any help greatly appreciated. Thanks