[R] About reshape dataset
Daniel Nordlund
djnordlund at gmail.com
Sat Oct 22 21:22:04 CEST 2016
On 10/22/2016 10:52 AM, lily li wrote:
> The code I'm using is:
> require(reshape)
> DF2 = melt(DF, id.vars = c('year', 'month', 'day'), measure.vars =
> c('site1_elev', 'site2_elev', 'site1_temp', 'site2_temp'))
>
> But it didn't work.
>
> On Sat, Oct 22, 2016 at 11:50 AM, lily li <chocold12 at gmail.com> wrote:
>
>> Hi R users,
>>
>> I want to melt a dataframe, but it mixed up the variables.
>>
>> DF is the original dataset:
>> year month day site1_elev site2_elev site1_temp site2_temp
>> 2000 5 6 1300 1500 20
>> 21
>> 2000 5 7 1300 1500 21 22
>> 2000 5 8 1300 1500 19 20
>> 2000 5 9 1300 1500 22 23
>>
>> How to melt the dataframe and get the following dataset? Thanks for your
>> help.
>>
>> year month day siteID elev temp
>> 2000 5 6 1 1300 20
>> 2000 5 6 2 1500 21
>> 2000 5 7 1 1300 21
>> 2000 5 7 2 1500 22
>>
>>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
I am sure someone will come along with a "better" answer, but I played
with this a bit and this is what I came up with. After running your code
I ran
DF2$site <- substr(as.character(DF2$variable),1,5)
DF2$var <- substr(as.character(DF2$variable),7,10)
DF3 <- cast(DF2,year + month + day + site ~ var )
Hope this is helpful,
Dan
--
Daniel Nordlund
Port Townsend, WA USA
More information about the R-help
mailing list