**0**wrote:

I have next `SNPs`

data.frame structure

```
> str(SNPs)
'data.frame': 1703 obs. of 4 variables:
$ group: Factor w/ 2 levels "A","B": 1 1 1 1 1 1 1 1 1 1 ...
$ rs1 : Factor w/ 3 levels "D/D","I/D","I/I": 1 1 2 3 3 2 1 1 1 1 ...
$ rs2 : Factor w/ 3 levels "a/a","a/b","b/b": 3 3 2 3 3 2 2 3 3 2 ...
$ rs3 : Factor w/ 3 levels "G/G","G/T","T/T": 2 1 2 1 1 3 1 1 2 1 ...
...other rs
> head(SNPs)
group rs1 rs2 rs3 ...other rs
1 A D/D b/b G/T
2 A D/D b/b G/G
3 A I/D a/b G/T
4 A I/I b/b G/G
5 A I/I b/b G/G
6 A I/D a/b T/T
```

For example, I noticed that `rs5 4b/4a`

and `rs6 G/G`

in `group A`

very often occur together (see below). In `group B`

they very often occur together too. So I want to know - is it statistical regularity or not.

I can create table with all pairs in both groups

```
> SNPs$rs5_rs6 <- paste(SNPs$rs5, SNPs$rs6)
> tmp <- table(SNPs$rs5_rs6, SNPs$group)
> tmp
A B
4a/4a G/G 1 20
4b/4a G/G 31 83
4b/4a G/T 14 51
4b/4a T/T 1 0
4b/4b G/G 37 106
4b/4b G/T 35 119
4b/4b T/T 11 31
```

So, now I need compare (find p-value) group A and group B: `4a/4a G/G`

in group A vs `4a/4a G/G`

in group B, `4b/4a G/G`

in group A vs `4b/4a G/G`

in group B, `4b/4a G/T`

in group A vs `4b/4a G/T`

in group B and etc.

How can I do that?

I need using chisq test or something else get p-values for each row in `tmp`

```
A B
4a/4a G/G 1 20 - p-value?
4b/4a G/G 31 83 - p-value?
4b/4a G/T 14 51 - p-value?
4b/4a T/T 1 0 - p-value?
4b/4b G/G 37 106 - p-value?
4b/4b G/T 35 119 - p-value?
4b/4b T/T 11 31 - p-value?
```

**0**• written 2.2 years ago by n.osennij •

**0**