Thanyou David!!! :)
> From: dcarl...@tamu.edu > To: jholt...@gmail.com; eliza_bo...@hotmail.com > CC: r-help@r-project.org > Subject: RE: [R] column names to row names > Date: Wed, 17 Sep 2014 14:04:52 +0000 > > Here's another approach using stack(): > > y <- data.frame(y) > > E <- with(y, data.frame(year, month, day, > stack(data.frame(y), select=4:12))) > > colnames(E)[4:5] <- c("discharge", "station") > > But there are some differences. For my E: > > str(E) > 'data.frame': 36 obs. of 5 variables: > $ year : num 1961 1961 1961 1961 1961 ... > $ month : num 1 1 1 1 1 1 1 1 1 1 ... > $ day : num 1 2 3 4 1 2 3 4 1 2 ... > $ discharge: num 1 2 3 4 5 6 7 8 9 10 ... > $ station : Factor w/ 9 levels "A","B","C","D",..: 1 1 1 1 2 2 2 2 3 3 ... > > But for your E: > > > str(E) > 'data.frame': 36 obs. of 5 variables: > $ year : Factor w/ 1 level "1961": 1 1 1 1 1 1 1 1 1 1 ... > $ month : num 1 1 1 1 1 1 1 1 1 2 ... > $ day : int 1 2 3 4 1 2 3 4 1 2 ... > $ discharge: Factor w/ 36 levels "1","10","11",..: 1 12 23 31 32 33 34 35 36 > 2 ... > $ station : chr "A" "A" "A" "A" ... > > It seems strange that the discharge and year would be factors and station > would be character. > > ------------------------------------- > David L Carlson > Department of Anthropology > Texas A&M University > College Station, TX 77840-4352 > > ----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On > Behalf Of jim holtman > Sent: Wednesday, September 17, 2014 8:26 AM > To: eliza botto > Cc: r-help@r-project.org > Subject: Re: [R] column names to row names > > Use the 'tidyr' package: your 'month' does not match your desired output - > > > x <- structure(c(1961, 1961, 1961, 1961, 1, 1, 1, 1, 1, 2, 3 > + , 4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 > + , 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 > + , 28, 29, 30, 31, 32, 33, 34, 35, 36) > + , .Dim = c(4L, 12L) > + , .Dimnames = list(NULL, c("year", "month", "day", "A", "B", "C" > + , "D", "E", "F", "G", "H", "I")) > + ) > > xdf <- as.data.frame(x) > > xdf > year month day A B C D E F G H I > 1 1961 1 1 1 5 9 13 17 21 25 29 33 > 2 1961 1 2 2 6 10 14 18 22 26 30 34 > 3 1961 1 3 3 7 11 15 19 23 27 31 35 > 4 1961 1 4 4 8 12 16 20 24 28 32 36 > > require(tidyr) > > require(dplyr) > > xdf %>% gather(station, discharge, -year, -month, -day) > year month day station discharge > 1 1961 1 1 A 1 > 2 1961 1 2 A 2 > 3 1961 1 3 A 3 > 4 1961 1 4 A 4 > 5 1961 1 1 B 5 > 6 1961 1 2 B 6 > 7 1961 1 3 B 7 > 8 1961 1 4 B 8 > 9 1961 1 1 C 9 > 10 1961 1 2 C 10 > 11 1961 1 3 C 11 > 12 1961 1 4 C 12 > 13 1961 1 1 D 13 > 14 1961 1 2 D 14 > 15 1961 1 3 D 15 > 16 1961 1 4 D 16 > 17 1961 1 1 E 17 > 18 1961 1 2 E 18 > 19 1961 1 3 E 19 > 20 1961 1 4 E 20 > 21 1961 1 1 F 21 > 22 1961 1 2 F 22 > 23 1961 1 3 F 23 > 24 1961 1 4 F 24 > 25 1961 1 1 G 25 > 26 1961 1 2 G 26 > 27 1961 1 3 G 27 > 28 1961 1 4 G 28 > 29 1961 1 1 H 29 > 30 1961 1 2 H 30 > 31 1961 1 3 H 31 > 32 1961 1 4 H 32 > 33 1961 1 1 I 33 > 34 1961 1 2 I 34 > 35 1961 1 3 I 35 > 36 1961 1 4 I 36 > > > > Jim Holtman > Data Munger Guru > > What is the problem that you are trying to solve? > Tell me what you want to do, not how you want to do it. > > > On Wed, Sep 17, 2014 at 8:28 AM, eliza botto <eliza_bo...@hotmail.com> wrote: > > Dear useRs, > > I have a data frame "y" starting from 1961 to 2010 in the following manner > > (where A,B,C ......, I are station names and the values uder these are > > "discharge" values.) > >> dput(y) > > structure(c(1961, 1961, 1961, 1961, 1, 1, 1, 1, 1, 2, 3, 4, 1, 2, 3, 4, 5, > > 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, > > 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36), .Dim = c(4L, 12L), .Dimnames = > > list(NULL, c("year", "month", "day", "A", "B", "C", "D", "E", "F", "G", > > "H", "I"))) > > > > I want it to be in the following manner "E" where the stations names are in > > a seperate column and all discharge values are in one column. > >> dput(E) > > > > structure(list(year = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, > > 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, > > 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "1961", class = "factor"), month > > = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, > > 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4), day = c(1L, 2L, 3L, 4L, 1L, > > 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, > > 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L), discharge = > > structure(c(1L, 12L, 23L, 31L, 32L, 33L, 34L, 35L, 36L, 2L, 3L, 4L, 5L, > > 6L, 7L, 8L, 9L, 10L, 11L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, > > 21L, 22L, 24L, 25L, 26L, 27L, 28L, 29L, 30L), .Label = c("1", "10", > > "11", "12", "13", "14", "15", "16", "17", "18", "19", "2", "20", "21", > > "22", "23", "24", "25", "26", "27", "28", "29", "3", "30", "31", "32", > > "33", "34", "35", "36", "4", "5", "6", "7", "8", "9"), class = > > "factor"), station = c("A",! ! > ! > > "A", "A", "A", "B", "B", "B", "B", "C", "C", "C", "C", "D", "D", "D", > > "D", "E", "E", "E", "E", "F", "F", "F", "F", "G", "G", "G", "G", "H", > > "H", "H", "H", "I", "I", "I", "I")), .Names = c("year", "month", "day", > > "discharge", "station"), row.names = c(NA, 36L), class = "data.frame") > > > > I hope I followed all the instructions given to be by some fellows. > > Thankyou very much in advance. > > Eliza > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@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. > > ______________________________________________ > R-help@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. [[alternative HTML version deleted]] ______________________________________________ R-help@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.