Matt Pettis
2017-11-30
X1 -- X3 in wide format become values under key in long format.X1 -- X3 in wide format become the values under the value column in long format.df_long <- bind_rows( data.frame(DateTime = df_wide$DateTime, key="X1", value=df_wide$X1, stringsAsFactors = FALSE) , data.frame(DateTime = df_wide$DateTime, key="X2", value=df_wide$X2, stringsAsFactors = FALSE) , data.frame(DateTime = df_wide$DateTime, key="X3", value=df_wide$X3, stringsAsFactors = FALSE))
df_wide2 <- merge(
setNames(df_long[df_long$key == "X1",c("DateTime", "value")], c("DateTime", "X1"))
, setNames(df_long[df_long$key == "X2",c("DateTime", "value")], c("DateTime", "X2"))
, by = "DateTime")
df_wide2 <- merge(
df_wide2
, setNames(df_long[df_long$key == "X3",c("DateTime", "value")], c("DateTime", "X3"))
, by = "DateTime")
df_wide_tidy <- spread(df_long, key, value)
df_long_tidy <- gather(df_wide, key, value, c("X1", "X2", "X3"))
#df_long_tidy <- gather(df_wide, key, value, -DateTime) # Alternate
#df_long_tidy <- gather(df_wide, key, value, X1:X3) # Alternate
reshape and reshape2) : http://vita.had.co.nz/papers/tidy-data.pdftidyr package: http://tidyr.tidyverse.org/