Quantcast
Channel: Active questions tagged r - Stack Overflow
Viewing all articles
Browse latest Browse all 206970

Moving rows to columns in R using identifier

$
0
0

I have a dataset in r with two columns of numerical data and one with an identifier. Some of the rows share the same identifier (i.e. they are the same individual), but contain different data. I want to use the identifier to move those that share an identifier from a row into a columns. There are currently 600 rows, but there should be 400.

Can anyone share r code that might do this? I am new to R, and have tried the reshape (cast) programme, but I can't really follow it, and am not sure it's exactly what i'm trying to do.

Any help gratefully appreciated.

UPDATE:

Current

ID Age Sex  
1   3   1  
1   5   1  
1   6   1  
1   7   1  
2   1   2  
2   12  2  
2   5   2  
3   3   1  

Expected output

ID Age Sex Age2 Sex2 Age3 Sex3 Age4 Sex4   
1   3   1   5    1     6    1    7    1
2   1   2   12   2     5    2
3   3   1  

UPDATE 2:

So far I have tried using the melt and dcast commands from reshape2. I am getting there, but it still doesn't look quite right. Here is my code:

x <- melt(example, id.vars = "ID")

x$time <- ave(x$ID, x$ID, FUN = seq_along)

example2 <- dcast (x, ID ~ time, value.var = "value")

and here is the output using that code:

ID  A   B   C    D     E    F    G    H (for clarity i have labelled these) 
1   3   5   6    7     1    1    1    1
2   1   12  5    2     2    2
3   3   1

So, as you can probably see, it is mixing up the 'sex' and 'age' variables and combining them in the same column. For example column D has the value '7' for person 1 (age4), but '2' for person 2 (Sex). I can see that my code is not instructing where the numerical values should be cast to, but I do not know how to code that part. Any ideas?


Viewing all articles
Browse latest Browse all 206970

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>