0

How would someone change this data from:

FY      FedNonFed   TotalExpense
2006    Federal     46753094
2007    Federal     43397314
2008    Federal     43962330
2006    Non Federal 74740716
2007    Non Federal 74834857
2008    Non Federal 71051132

to

FY      Federal     Non Federal
2006    46753094    74740716
2007    43397314    74834857
2008    43962330    71051132

My attempts with xtabs(), table() haven't been that successful. Any help will be appreciated

Laura Walker
  • 307
  • 2
  • 6
  • 16
  • 1
    `dcast(df, FY ~ FedNonFed)`. you need to load `library(reshape2)` first – d.b Feb 16 '17 at 02:59
  • `xtabs(TotalExpense ~ FY + FedNonFed, data=dat)` does it, as would `reshape(dat, idvar="FY", direction="wide", timevar="FedNonFed")` – thelatemail Feb 16 '17 at 03:13

2 Answers2

1
library(reshape)
cast(FedNonFed, FY ~ FedNonFed)

About as simple as that :-)

d.b
  • 32,245
  • 6
  • 36
  • 77
Laura Walker
  • 307
  • 2
  • 6
  • 16
1

Can also use tidyr::spread. Assuming data frame is named dataset:

library(tidyr)
dataset %>% spread(FedNonFed, TotalExpense)
neilfws
  • 32,751
  • 5
  • 50
  • 63