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.

Reply via email to