I have a data frame here that contains ID and co-ordinates that corresponds to a simulation value.
head_data<-structure(list(x = c(987.353265152362, 570.817987386894, 1147.5681499552,
637.526076016409, 1439.13510253106, 1396.6452808061), y = c(1802.08232812874,
349.336242713164, 1789.49467712533, 361.611973188148, 1492.44148360367,
1459.91771610835), id = 1:6, `simulation 1` = c(1100, 600, 1200,
400, 900, 1000), `simulation 2` = c(1500, 1400, 1600, 1200, 1200,
1300), `simulation 3` = c(1200, 1100, 1200, 1000, 900, 900),
`simulation 4` = c(1300, 800, 1200, 900, 1100, 1100), `simulation 5` = c(1500,
1200, 1400, 1100, 1300, 1200), `simulation 6` = c(200, 1400,
100, 1100, 600, 600)), row.names = c(NA, 6L), class = "data.frame")
I can melt this data to create a data frame that replicates the ID and co-ordinates for each simulation.
library('reshape2')
data_long <- melt(head_data, id.vars = c('x', 'y', 'id'), value.name = 'time', variable.name = 'sim')
I am trying to arrange the value of time in ascending order, but do this without mixing up all the corresponding column of simulation number. i.e. Rearrange the data within the rows that are for the respective simulation row.
library('dplyr')
data_long_sort<-data_long%>%group_by(sim)%>%order(time)
Which gives the error
'Error: Can't combine `x` <double> and `sim` <factor<0ccab>>'
I have also tried
data_long_sort<-data_long%>%group_by(sim)%>%arrange(time)
Which sorts all times but mixes up the simulation column.
Any suggestions?