[R] FW: Help on reshape2 data frame rearrangement

Joshua Wiley jwiley.psych at gmail.com
Mon Aug 8 18:09:25 CEST 2011


Hi BJ,

Is this what you want?

Data1 <- structure(list(Site = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L,
2L), .Label = c("Site1", "Site2"), class = "factor"), Fish_no = structure(c(1L,
2L, 3L, 4L, 1L, 2L, 3L, 4L), .Label = c("Fish1", "Fish2", "Fish3",
"Fish4"), class = "factor"), Length = c(10L, 13L, 14L, 15L, 5L,
8L, 7L, 9L)), .Names = c("Site", "Fish_no", "Length"), class =
"data.frame", row.names = c(NA,
-8L))

require(reshape2)

dcast(Data1, Fish_no ~ Site, value_var = "Length")

HTH,

Josh

On Mon, Aug 8, 2011 at 8:47 AM, B Jessop <deelman at hotmail.com> wrote:
>
> Help-list,
>
>
>
> Sorry about the formatting problem, Josh.  The following example data set(minor difference from original) in plain text should make the problem clear.
>
>
>
> Original data format:
> Site     Fish_no   Length
> Site1    Fish1        10
> Site1    Fish2        13
> Site1    Fish3        14
> Site1    Fish4        15
> ……….
> Site2    Fish1        5
> Site2    Fish2        8
> Site2    Fish3        7
> Site2    Fish4        9
> ……..
> Site and Fish are factors, Length is a numeric variable.  There are 15 cases for each Site group.  The objective is to reshape to:
> Site1    Site2
> 10        5
> 13        8
> 14        7
> 15        9
> Etc.
> The following code works inadequately:
> Df2 <- dcast (Data1, Length ~ Site, value_var = “Length”)
>
>
> It produces the following:
> Length   Site1   Site2
> 10       10       NA
> 13       13       NA
> 14       14       NA
> 15       15       NA
> ……..
> 5         NA       5
> 8         NA       8
> 7         NA       7
> ……..
>
>
>
> Thanks for any suggestions.
>
>
>
> Regards,
>
> BJ
> ----------------------------------------
>> Date: Sun, 7 Aug 2011 18:27:49 -0700
>> Subject: Re: [R] Help on reshape2 data frame rearrangement
>> From: jwiley.psych at gmail.com
>> To: deelman at hotmail.com
>> CC: r-help at r-project.org
>>
>> Hi BJ,
>>
>> Suppose that your data set is called 'Data1', please copy and paste
>> the output created by typing:
>>
>> dput(Data1[1:15, ])
>>
>> and post that to the list ***in plain text*** (or upload a text file
>> on some file hosting service). The email you sent is nearly
>> impossible to parse because this is a plain text list (as noted in the
>> posting guide) and your html formatting is utterly lost.
>>
>> Josh
>>
>> On Sun, Aug 7, 2011 at 6:19 PM, B Jessop <deelman at hotmail.com> wrote:
>> >
>> >
>> > Dear help list: I am trying to reshape a data frame from long to wide format and with a reduced variable list using reshape2. The original data frame format is:
>
> Site    Obs_no   Length
>
> Site 1 Obs 1     10
>
> Site 1 Obs 2     13
>
> Site 1 Obs 3     14
>
> .........
>
> Site 2 Obs 1     5
>
> Site 2 Obs 2     7
>
> Site 2 Obs 3     9
>
>
>
> Site and Obs_no are factors and Length is a numeric variable. There are 15 cases in each Site group. The objective is to rearrange to:
>
> Site 1 Site 2
>
> 10      5
>
> 13      7
>
> 14      9
>
> ........
>
> I have tried a variety of approaches, none of which worked. The following code does not work but suggests the task might be possible, perhaps in 2 steps.
>
> Df2 <- dcast (Data1, Length ~ Site, value_var = "Length") Its output is:
>
> Length Site 1 Site2
>
> 10      10     NA
>
> 13      13     NA
>
> 14      14     NA
>
> .......
>
> 5       NA     5
>
> 7       NA     7
>
> 9       NA     9
>
>
>
> [[elided Hotmail spam]]
>> > r use but I would like to do it in R. Any suggestions would be much appreciated. Regards,BJ
>> > [[alternative HTML version deleted]]
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> >
>> > ______________________________________________
>> > R-help at r-project.org mailing list
>> > 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.
>> >
>>
>>
>>
>> --
>> Joshua Wiley
>> Ph.D. Student, Health Psychology
>> Programmer Analyst II, ATS Statistical Consulting Group
>> University of California, Los Angeles
>> https://joshuawiley.com/
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
>



-- 
Joshua Wiley
Ph.D. Student, Health Psychology
Programmer Analyst II, ATS Statistical Consulting Group
University of California, Los Angeles
https://joshuawiley.com/



More information about the R-help mailing list