Investigating food intake in relation to number of live births

library(TwoSampleMR)

Coffee type: Ground coffee (include espresso, filter etc)

d <- make_dat("ukb-d-1508_3", "ukb-b-1209")
## API: public: http://gwas-api.mrcieu.ac.uk/
## Extracting data for 22 SNP(s) from 1 GWAS(s)
## Finding proxies for 7 SNPs in outcome ukb-b-1209
## Extracting data for 7 SNP(s) from 1 GWAS(s)
## Harmonising Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3 (ukb-d-1508_3) and Number of live births || id:ukb-b-1209 (ukb-b-1209)
d_mr<-mr(d)
## Analysing 'ukb-d-1508_3' on 'ukb-b-1209'
d_mr
##    id.exposure id.outcome                                outcome
## 1 ukb-d-1508_3 ukb-b-1209 Number of live births || id:ukb-b-1209
## 2 ukb-d-1508_3 ukb-b-1209 Number of live births || id:ukb-b-1209
## 3 ukb-d-1508_3 ukb-b-1209 Number of live births || id:ukb-b-1209
## 4 ukb-d-1508_3 ukb-b-1209 Number of live births || id:ukb-b-1209
## 5 ukb-d-1508_3 ukb-b-1209 Number of live births || id:ukb-b-1209
##                                                                       exposure
## 1 Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3
## 2 Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3
## 3 Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3
## 4 Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3
## 5 Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3
##                      method nsnp          b        se         pval
## 1                  MR Egger   17 -2.5833963 1.2509372 0.0566388793
## 2           Weighted median   17 -0.5702303 0.2060398 0.0056475230
## 3 Inverse variance weighted   17 -0.7641744 0.2202036 0.0005198617
## 4               Simple mode   17 -0.5585687 0.3850874 0.1662411430
## 5             Weighted mode   17 -0.6301558 0.3566514 0.0963168127
mr_scatter_plot(d_mr,d)
## $`ukb-d-1508_3.ukb-b-1209`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##    id.exposure id.outcome
## 1 ukb-d-1508_3 ukb-b-1209
d <- make_dat("ukb-b-1209", "ukb-d-1508_3")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Harmonising Number of live births || id:ukb-b-1209 (ukb-b-1209) and Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3 (ukb-d-1508_3)
d_mr<-mr(d)
## Analysing 'ukb-b-1209' on 'ukb-d-1508_3'
d_mr
##   id.exposure   id.outcome
## 1  ukb-b-1209 ukb-d-1508_3
## 2  ukb-b-1209 ukb-d-1508_3
## 3  ukb-b-1209 ukb-d-1508_3
## 4  ukb-b-1209 ukb-d-1508_3
## 5  ukb-b-1209 ukb-d-1508_3
##                                                                        outcome
## 1 Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3
## 2 Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3
## 3 Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3
## 4 Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3
## 5 Coffee type: Ground coffee (include espresso, filter etc) || id:ukb-d-1508_3
##                                 exposure                    method nsnp
## 1 Number of live births || id:ukb-b-1209                  MR Egger   11
## 2 Number of live births || id:ukb-b-1209           Weighted median   11
## 3 Number of live births || id:ukb-b-1209 Inverse variance weighted   11
## 4 Number of live births || id:ukb-b-1209               Simple mode   11
## 5 Number of live births || id:ukb-b-1209             Weighted mode   11
##             b         se        pval
## 1  0.10657114 0.37025700 0.779994768
## 2 -0.07585746 0.02785727 0.006467725
## 3 -0.08451596 0.04295732 0.049132484
## 4 -0.06298790 0.04819409 0.220479830
## 5 -0.05550083 0.04703373 0.265300461
mr_scatter_plot(d_mr,d)
## $`ukb-b-1209.ukb-d-1508_3`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure   id.outcome
## 1  ukb-b-1209 ukb-d-1508_3

Cereal: Other

d <- make_dat("ukb-d-1468_5", "ukb-b-1209")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Finding proxies for 3 SNPs in outcome ukb-b-1209
## Extracting data for 3 SNP(s) from 1 GWAS(s)
## Harmonising Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5 (ukb-d-1468_5) and Number of live births || id:ukb-b-1209 (ukb-b-1209)
d_mr<-mr(d)
## Analysing 'ukb-d-1468_5' on 'ukb-b-1209'
d_mr
##    id.exposure id.outcome                                outcome
## 1 ukb-d-1468_5 ukb-b-1209 Number of live births || id:ukb-b-1209
## 2 ukb-d-1468_5 ukb-b-1209 Number of live births || id:ukb-b-1209
## 3 ukb-d-1468_5 ukb-b-1209 Number of live births || id:ukb-b-1209
## 4 ukb-d-1468_5 ukb-b-1209 Number of live births || id:ukb-b-1209
## 5 ukb-d-1468_5 ukb-b-1209 Number of live births || id:ukb-b-1209
##                                                            exposure
## 1 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 2 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 3 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 4 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 5 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
##                      method nsnp          b        se       pval
## 1                  MR Egger    8 -1.0135047 1.2669308 0.45422730
## 2           Weighted median    8  0.2352079 0.2567403 0.35959781
## 3 Inverse variance weighted    8  0.5027436 0.2073074 0.01530366
## 4               Simple mode    8  0.2615428 0.4233686 0.55628537
## 5             Weighted mode    8  0.2534933 0.3536641 0.49673258
mr_scatter_plot(d_mr,d)
## $`ukb-d-1468_5.ukb-b-1209`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##    id.exposure id.outcome
## 1 ukb-d-1468_5 ukb-b-1209
d <- make_dat("ukb-b-1209", "ukb-d-1468_5")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Harmonising Number of live births || id:ukb-b-1209 (ukb-b-1209) and Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5 (ukb-d-1468_5)
d_mr<-mr(d)
## Analysing 'ukb-b-1209' on 'ukb-d-1468_5'
d_mr
##   id.exposure   id.outcome
## 1  ukb-b-1209 ukb-d-1468_5
## 2  ukb-b-1209 ukb-d-1468_5
## 3  ukb-b-1209 ukb-d-1468_5
## 4  ukb-b-1209 ukb-d-1468_5
## 5  ukb-b-1209 ukb-d-1468_5
##                                                             outcome
## 1 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 2 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 3 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 4 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 5 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
##                                 exposure                    method nsnp
## 1 Number of live births || id:ukb-b-1209                  MR Egger   11
## 2 Number of live births || id:ukb-b-1209           Weighted median   11
## 3 Number of live births || id:ukb-b-1209 Inverse variance weighted   11
## 4 Number of live births || id:ukb-b-1209               Simple mode   11
## 5 Number of live births || id:ukb-b-1209             Weighted mode   11
##              b         se      pval
## 1  0.392455308 0.26043389 0.1660968
## 2  0.002797886 0.02566345 0.9131849
## 3  0.048987123 0.03257059 0.1325738
## 4 -0.005473767 0.03777255 0.8876580
## 5 -0.006718070 0.03784124 0.8626343
mr_scatter_plot(d_mr,d)
## $`ukb-b-1209.ukb-d-1468_5`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure   id.outcome
## 1  ukb-b-1209 ukb-d-1468_5

Food intake seems to be somewhat related to number of children, but it isn’t massively strong and there’s some evidence of reverse causality.