Hi:

This is as far as I could get:

df <- read.table(textConnection("
 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"), header = TRUE)
df2 <- transform(df, Parent1 = replace(Parent1, Parent1 == 0, NA),
                 Parent2 = replace(Parent2, Parent2 == 0, NA))
df2 <- transform(df2, imark1p1 = df2$mark1[df2$Parent1],       # Parent 1's
mark1
                      imark1p2 = df2$mark1[df2$Parent2],
# Parent 2's mark1
                      imark2p1 = df2$mark2[df2$Parent1],
# Parent 1's mark2
                      imark2p2 = df2$mark2[df2$Parent2])
# Parent 2's mark2

I created df2 so as not to overwrite the original in case of a mistake. At
this point, you have several sets of vectors that you can compare; e.g.,
mark1 with imark1p1 and imark1p2. Like Josh, I couldn't make heads or tails
out of what these logical tests were meant to output, but perhaps this gives
you a broader template with which to work. At this point, you can probably
remove the rows corresponding to the parents. I believe ifelse() is your
friend here - it can perform logical tests in a vectorized fashion. As long
as the tests are consistent from one individual to the next, it's likely to
be an efficient route.

HTH,
Dennis

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

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