On Mar 10, 2011, at 3:58 PM, shai uliel wrote:

Dear R helpers
I have a table and i need to make new table


table1:

              sire  snp1 snp2 snp3 snp4 snp5 snp6 snp7 snp8 snp9 snp10
snp11 snp12 snp13 snp14 snp15 8877 -1 -1 -1 -1 0 0 -1 -1 -1 0 1 1 1 -1 -1 7765 1 1 1 0 0 0 -1 1 1 1 0 0 0 1 0 8766 1 1 -1 0 -1 -1 0 -1 0 -1 -1 -1 0 1 0 6756 0 1 0 -1 1 -1 -1 0 0 0 0 -1 0 1 1 5644 -1 0 1 -1 0 0 0 0 -1 -1 0 0 0
0 1

sire snp1 snp2 snp3 snp4 snp5 snp6 snp7 snp8 snp9 snp10 snp11 snp12 snp13 snp14 snp15
8877 -1 -1 -1 -1 0 0 -1 -1 -1 0 1 1 1 -1 -1
7765 1 1 1 0 0 0 -1 1 1 1 0 0 0 1 0
8766 1 1 -1 0 -1 -1 0 -1 0 -1 -1 -1 0 1 0
6756 0 1 0 -1 1 -1 -1 0 0 0 0 -1 0 1 1
5644 -1 0 1 -1 0 0 0 0 -1 -1 0 0 0 0 1

I have table2
sire snp1 snp2 snp3 snp4 snp5 snp6 snp7 snp8 snp9 snp10 snp11 snp12
snp13 snp14 snp15 8989 1 1 1 1 0 0 -1 -1 1 0 -1 0 1 0 -1


i need to ask evry snp if snp1(table2)==snp1(table1)
but not evry snp alone windows ==15
if 15 snp are equal then sent line to new table3

I haven't figured out what you are trying to say. It appears you have offered an example which would generate NULL output.

You should read the Posting Guide and pay particular attention to the request for reproducible examples (and not that HTML mail is severely deprecated.) . It suggests using dump(), but I have found that dput is easier to remember:

> dput(table1)
structure(list(sire = c(8877L, 7765L, 8766L, 6756L, 5644L), snp1 = c(-1L,
1L, 1L, 0L, -1L), snp2 = c(-1L, 1L, 1L, 1L, 0L), snp3 = c(-1L,
1L, -1L, 0L, 1L), snp4 = c(-1L, 0L, 0L, -1L, -1L), snp5 = c(0L,
0L, -1L, 1L, 0L), snp6 = c(0L, 0L, -1L, -1L, 0L), snp7 = c(-1L,
-1L, 0L, -1L, 0L), snp8 = c(-1L, 1L, -1L, 0L, 0L), snp9 = c(-1L,
1L, 0L, 0L, -1L), snp10 = c(0L, 1L, -1L, 0L, -1L), snp11 = c(1L,
0L, -1L, 0L, 0L), snp12 = c(1L, 0L, -1L, -1L, 0L), snp13 = c(1L,
0L, 0L, 0L, 0L), snp14 = c(-1L, 1L, 1L, 1L, 0L), snp15 = c(-1L,
0L, 0L, 1L, 1L)), .Names = c("sire", "snp1", "snp2", "snp3",
"snp4", "snp5", "snp6", "snp7", "snp8", "snp9", "snp10", "snp11",
"snp12", "snp13", "snp14", "snp15"), class = "data.frame", row.names = c(NA,
-5L))
> dput(table2)
structure(list(sire = 8989L, snp1 = 1L, snp2 = 1L, snp3 = 1L,
    snp4 = 1L, snp5 = 0L, snp6 = 0L, snp7 = -1L, snp8 = -1L,
    snp9 = 1L, snp10 = 0L, snp11 = -1L, snp12 = 0L, snp13 = 1L,
    snp14 = 0L, snp15 = -1L), .Names = c("sire", "snp1", "snp2",
"snp3", "snp4", "snp5", "snp6", "snp7", "snp8", "snp9", "snp10",
"snp11", "snp12", "snp13", "snp14", "snp15"), class = "data.frame", row.names = c(NA,
-1L))

This would check for individual "equality of entries:

> apply(table1[,2:16], 1, "==" , table2[1,2:16])
       [,1]  [,2]  [,3]  [,4]  [,5]
 [1,] FALSE  TRUE  TRUE FALSE FALSE
 [2,] FALSE  TRUE  TRUE  TRUE FALSE
 [3,] FALSE  TRUE FALSE FALSE  TRUE
 [4,] FALSE FALSE FALSE FALSE FALSE
 [5,]  TRUE  TRUE FALSE FALSE  TRUE
 [6,]  TRUE  TRUE FALSE FALSE  TRUE
 [7,]  TRUE  TRUE FALSE  TRUE FALSE
 [8,]  TRUE FALSE  TRUE FALSE FALSE
 [9,] FALSE  TRUE FALSE FALSE FALSE
[10,]  TRUE FALSE FALSE  TRUE FALSE
[11,] FALSE FALSE  TRUE FALSE FALSE
[12,] FALSE  TRUE FALSE FALSE  TRUE
[13,]  TRUE FALSE FALSE FALSE FALSE
[14,] FALSE FALSE FALSE FALSE  TRUE
[15,]  TRUE FALSE FALSE FALSE FALSE


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

______________________________________________
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