Thank you David 
 
I was able to create dataframe and  restore names with the following:
 
dfr1 <- data.frame(t( apply(dfr, 1, func) ))

names(dfr1) <- c("marker1a","marker1b", "marker2a", "marker2b" ,"marker3a",
"marker3b")
Still I wonder if there is easier way to restore the names, in situations
where there are 1000's of variables making the list as above might be
tidious. 
Thank you for solving my problem. I appreciate it.
Umesh R 
  _____  

From: David Winsemius [mailto:dwinsem...@comcast.net] 
Sent: Saturday, February 19, 2011 10:28 AM
To: Umesh Rosyara
Cc: 'Joshua Wiley'; r-help@r-project.org
Subject: Re: [R] simple recoding problem, but a trouble !




On Feb 19, 2011, at 8:40 AM, Umesh Rosyara wrote:

> Just a correction. My expected outdata frame was somehow distorted 
> to a
> single, one column. So correct one is:
>
> marker1a       markerb         marker2a        marker2b      
> 1      1       1       1     
> 1      3       1       3     
> 3      3       3       3     
> 3      3       3       3     
> 1      3       1       3     
> 1      3       1       3     


func <- function(x) {sapply( strsplit(x, ""),
                                     match, table= c("A", NA, "C"))}
t( apply(dfr, 1, func) )

      [,1] [,2] [,3] [,4]
[1,]    1    1    1    1
[2,]    1    3    1    3
[3,]    3    3    3    3
[4,]    3    3    3    3
[5,]    1    3    1    3
[6,]    1    3    1    3


It's amatrix rather than a dataframe and doesn't have colnames but 
that should be trivial to fix.

>
> Thanks;
>
> Umesh R
>
>  _____
>
> From: Umesh Rosyara [mailto:rosyar...@gmail.com]
> Sent: Friday, February 18, 2011 10:09 PM
> To: 'Joshua Wiley'
> Cc: 'r-help@r-project.org'
> Subject: RE: [R] recoding a data in different way: please help
>
>
> Hi Josh and R community members
>
> Thank you for quick response. I am impressed with the help.
>
> To solve my problems, I tried recode options and I had the following 
> problem
> and which motivated me to leave it. Thank you for remind me the option
> again, might help to solve my problem in different way.
>
> marker1 <- c("AA", "AC", "CC", "CC", "AC", "AC")
>
> marker2 <- c("AA", "AC", "CC", "CC", "AC", "AC")
>
> dfr <- data.frame(cbind(marker1, marker2))
>
> Objective: replace A with 1, C with 3, and split AA into 1 1 (two 
> columns
> numeric). So the intended output for the above dataframe is:
>
>
>
> marker1a
> markerb
> marker2a
> marker2b
>
> 1
> 1
> 1
> 1
>
> 1
> 3
> 1
> 3
>
> 3
> 3
> 3
> 3
>
> 3
> 3
> 3
> 3
>
> 1
> 3
> 1
> 3
>
> 1
> 3
> 1
> 3
>
> I tried the following:
>
> for(i in 1:length(dfr))
>   {
>     dfr[[i]]=recode (dfr[[i]],"c('AA')= '1,1'; c('AC')= '1,3'; 
> c('CA')=
> '1,3';  c('CC')= '3,3' ")
> }
>
> write.table(dfr,"dfr.out", sep=" ,", col.names = T)
> dfn=read.table("dfr.out",header=T, sep="," )
>
> # just trying to cheat R, unfortunately the marker1 and marker columns
> remained non-numeric, even when opened in excel !!
>
>
> Unfortunately I got the following result !
>
>   marker1 marker2
> 1     1,1      1,1
> 2     1,2      1,2
> 3     2,2      2,2
> 4     2,2      2,2
> 5     1,2      1,2
> 6     1,2      1,2
>
>
> Sorry to bother all of you, but simple things are being complicated 
> these
> days to me.
>
> Thank you so much
> Umesh R
>
>
>  _____
>
> From: Joshua Wiley [mailto:jwiley.ps...@gmail.com]
> Sent: Friday, February 18, 2011 12:15 AM
> Cc: r-help@r-project.org
> Subject: Re: [R] recoding a data in different way: please help
>
>
>
> Dear Umesh,
>
> I could not figure out exactly what your recoding scheme was, so I do
> not have a specific solution for you.  That said, the following
> functions may help you get started.
>
> ?ifelse # vectorized and different from using if () statements
> ?if #
> ?Logic ## logical operators for your tests
> ## if you install and load the "car" package by John Fox
> ?recode # a function for recoding in package "car"
>
> I am sure it is possible to string together some massive series of if
> statements and then use a for loop, but that is probably the messiest
> and slowest possible way.  I suspect there will be faster, neater
> options, but I cannot say for certain without having a better feel for
> how all the conditions work.
>
> Best regards,
>
> Josh
>
> On Thu, Feb 17, 2011 at 6:21 PM, Umesh Rosyara <rosyar...@gmail.com> 
> wrote:
>> Dear R users
>>
>> The following question looks simple but I have spend alot of time 
>> to solve
>> it. I would highly appeciate your help.
>>
>> I have following dataset from family dataset :
>>
>> Here we have individuals and their two parents and their marker 
>> scores
>> (marker1, marker2,....and so on). 0 means that their parent 
>> information
> not
>> available.
>>
>>
>> Individual      Parent1  Parent2         mark1   mark2
>> 1        0       0       12      11
>> 2        0       0       11      22
>> 3        0       0       13      22
>> 4        0       0       13      11
>> 5        1       2       11      12
>> 6        1       2       12      12
>> 7        3       4       11      12
>> 8        3       4       13      12
>> 9        1       4       11      12
>> 10       1       4       11      12
>>
>> I want to recode mark1 and other mark2.....and so on column by 
>> looking
>> indvidual parent (Parent1 and Parent2).
>>
>> For example
>>
>> Take case of Individual 5, who's Parent 1 is 1 (has mark1 score 12) 
>> and
>> Parent 2 is 2 (has mark1 score 11). Individual 5 has mark1 score 11.
> Suppose
>> I have following condition to recode Individual 5's mark1 score:
>>
>> For mark1 variable, If Parent1 score "11" and Parent2 score "22" and
> recode
>> indvidual 5's score, "12"=1, else 0
>>                                   If Parent1 score "12" and Parent2 
>> score
>> "22" and recode individual 5's score, "22"=1, "12"= 0.5, else 0
>>                                   .........................more
> conditions
>>
>> Similarly the pointer should move from individual 5 to n 
>> individuals at
> the
>> end of the file.
>>
>> Thank you in advance
>>
>> Umesh R
>>
>>
>>
>>
>>
>>       [[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.
>>
>
>
>
> --
> Joshua Wiley
> Ph.D. Student, Health Psychology
> University of California, Los Angeles
> http://www.joshuawiley.com/
>
>  _____
>
> No virus found in this message.
> Checked by AVG - www.avg.com
>
>
>
>       [[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.

David Winsemius, MD
West Hartford, CT


  _____  

No virus found in this message.
Checked by AVG - www.avg.com



        [[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