Hi: Here's a made up example using the reshape function:
Input data: df <- structure(list(center = 1:3, age1 = c(6L, 7L, 5L), n1 = c(10L, 12L, 6L), age2 = c(8L, 8L, 8L), n2 = c(13L, 14L, NA), age3 = c(10L, 10L, 9L), n3 = c(9L, NA, 10L), age4 = c(12L, 11L, 11L), n4 = c(7L, 16L, 12L), age5 = c(14L, 14L, 13L), n5 = c(10L, 13L, 9L)), .Names = c("center", "age1", "n1", "age2", "n2", "age3", "n3", "age4", "n4", "age5", "n5"), class = "data.frame", row.names = c(NA, -3L)) df center age1 n1 age2 n2 age3 n3 age4 n4 age5 n5 1 1 6 10 8 13 10 9 12 7 14 10 2 2 7 12 8 14 10 NA 11 16 14 13 3 3 5 6 8 NA 9 10 11 12 13 9 # To reshape more than one variable at a time, you need # to put the sets of variables into a list, as follows: df2 <- reshape(df, idvar = 'center', varying = list(c(paste('age', 1:5, sep = '')), c(paste('n', 1:5, sep = ''))), v.names = c('age', 'n'), times = 1:5, direction = 'long') df2 center time age n 1.1 1 1 6 10 2.1 2 1 7 12 3.1 3 1 5 6 1.2 1 2 8 13 2.2 2 2 8 14 3.2 3 2 8 NA 1.3 1 3 10 9 2.3 2 3 10 NA 3.3 3 3 9 10 1.4 1 4 12 7 2.4 2 4 11 16 3.4 3 4 11 12 1.5 1 5 14 10 2.5 2 5 14 13 3.5 3 5 13 9 HTH, Dennis On Sun, Sep 12, 2010 at 7:45 AM, Natasha Asar <natasha.asa...@yahoo.com>wrote: > Greeting R helpers J > I am not familiar with R but I have to use it to analyze data set that I > have > (30,000 20,000) > I want to change the structure of the dataset and I am wondering how that > might > be possible in R > A main data looks like this: some entities are empty > Age No. Age No. Age No. > Center1 5 2 8 > 7 > > Center2 10 7 20 > 9 4 10 > But what I want the data to look like is > Age 1 2 3 > 4 5 6 7 8 > 9 10 20 > Center1 > 2 7 > Center2 > 10 > 7 9 > > It should read the entities one by one > when j is in age column take its value and consider it as the column number > for > new matrix > then go to next entity (j No. columns) and put that entity under the > columns > number identified in previous step. > In other word > it should get the each element in No. columns (one by one) and place them > in a > new matrix under the column number which are equal to entity of age columns > of > first matrix > i have tired ncol, and cbind and things like that but I guess im on the > wrong > path because it is not working. I am reading this fine with read.csv and > writing back the same way. > do you know how I can make this work?? Is it even possible to do something > like > this? > Thank you in advance > Natasha > > > > [[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. > > [[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.