Investigating activity measures in relation to number of live births
library(TwoSampleMR)
## TwoSampleMR version 0.5.6
## [>] New: Option to use non-European LD reference panels for clumping etc
## [>] Some studies temporarily quarantined to verify effect allele
## [>] See news(package='TwoSampleMR') and https://gwas.mrcieu.ac.uk for further details
d <- make_dat("ukb-b-2002", "ukb-b-1209")
## API: public: http://gwas-api.mrcieu.ac.uk/
## Extracting data for 25 SNP(s) from 1 GWAS(s)
## Harmonising Job involves heavy manual or physical work || id:ukb-b-2002 (ukb-b-2002) and Number of live births || id:ukb-b-1209 (ukb-b-1209)
d_mr<-mr(d)
## Analysing 'ukb-b-2002' on 'ukb-b-1209'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-2002 ukb-b-1209 Number of live births || id:ukb-b-1209
## 2 ukb-b-2002 ukb-b-1209 Number of live births || id:ukb-b-1209
## 3 ukb-b-2002 ukb-b-1209 Number of live births || id:ukb-b-1209
## 4 ukb-b-2002 ukb-b-1209 Number of live births || id:ukb-b-1209
## 5 ukb-b-2002 ukb-b-1209 Number of live births || id:ukb-b-1209
## exposure
## 1 Job involves heavy manual or physical work || id:ukb-b-2002
## 2 Job involves heavy manual or physical work || id:ukb-b-2002
## 3 Job involves heavy manual or physical work || id:ukb-b-2002
## 4 Job involves heavy manual or physical work || id:ukb-b-2002
## 5 Job involves heavy manual or physical work || id:ukb-b-2002
## method nsnp b se pval
## 1 MR Egger 25 0.2399882 0.38188280 5.359109e-01
## 2 Weighted median 25 0.3446827 0.06851367 4.882831e-07
## 3 Inverse variance weighted 25 0.3743720 0.07886210 2.062799e-06
## 4 Simple mode 25 0.3347952 0.11266845 6.639721e-03
## 5 Weighted mode 25 0.3711817 0.09412678 6.078172e-04
mr_scatter_plot(d_mr,d)
## $`ukb-b-2002.ukb-b-1209`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-2002 ukb-b-1209
d <- make_dat("ukb-b-1209", "ukb-b-2002")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Harmonising Number of live births || id:ukb-b-1209 (ukb-b-1209) and Job involves heavy manual or physical work || id:ukb-b-2002 (ukb-b-2002)
d_mr<-mr(d)
## Analysing 'ukb-b-1209' on 'ukb-b-2002'
d_mr
## id.exposure id.outcome
## 1 ukb-b-1209 ukb-b-2002
## 2 ukb-b-1209 ukb-b-2002
## 3 ukb-b-1209 ukb-b-2002
## 4 ukb-b-1209 ukb-b-2002
## 5 ukb-b-1209 ukb-b-2002
## outcome
## 1 Job involves heavy manual or physical work || id:ukb-b-2002
## 2 Job involves heavy manual or physical work || id:ukb-b-2002
## 3 Job involves heavy manual or physical work || id:ukb-b-2002
## 4 Job involves heavy manual or physical work || id:ukb-b-2002
## 5 Job involves heavy manual or physical work || id:ukb-b-2002
## 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.36090201 0.79026006 0.65871756
## 2 0.13847578 0.05581875 0.01310838
## 3 0.22243911 0.09307019 0.01684770
## 4 0.06616742 0.07575462 0.40290844
## 5 0.05240184 0.07689792 0.51106111
mr_scatter_plot(d_mr,d)
## $`ukb-b-1209.ukb-b-2002`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-1209 ukb-b-2002
d <- make_dat("ukb-b-4461", "ukb-b-1209")
## Extracting data for 16 SNP(s) from 1 GWAS(s)
## Harmonising Job involves mainly walking or standing || id:ukb-b-4461 (ukb-b-4461) and Number of live births || id:ukb-b-1209 (ukb-b-1209)
d_mr<-mr(d)
## Analysing 'ukb-b-4461' on 'ukb-b-1209'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-4461 ukb-b-1209 Number of live births || id:ukb-b-1209
## 2 ukb-b-4461 ukb-b-1209 Number of live births || id:ukb-b-1209
## 3 ukb-b-4461 ukb-b-1209 Number of live births || id:ukb-b-1209
## 4 ukb-b-4461 ukb-b-1209 Number of live births || id:ukb-b-1209
## 5 ukb-b-4461 ukb-b-1209 Number of live births || id:ukb-b-1209
## exposure
## 1 Job involves mainly walking or standing || id:ukb-b-4461
## 2 Job involves mainly walking or standing || id:ukb-b-4461
## 3 Job involves mainly walking or standing || id:ukb-b-4461
## 4 Job involves mainly walking or standing || id:ukb-b-4461
## 5 Job involves mainly walking or standing || id:ukb-b-4461
## method nsnp b se pval
## 1 MR Egger 16 0.5473943 0.28718864 0.0773845832
## 2 Weighted median 16 0.2403101 0.06903209 0.0004992909
## 3 Inverse variance weighted 16 0.2123772 0.06701745 0.0015297296
## 4 Simple mode 16 0.2319016 0.13379238 0.1035441741
## 5 Weighted mode 16 0.3050968 0.09873180 0.0074658119
mr_scatter_plot(d_mr,d)
## $`ukb-b-4461.ukb-b-1209`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-4461 ukb-b-1209
d <- make_dat("ukb-b-1209", "ukb-b-4461")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Harmonising Number of live births || id:ukb-b-1209 (ukb-b-1209) and Job involves mainly walking or standing || id:ukb-b-4461 (ukb-b-4461)
d_mr<-mr(d)
## Analysing 'ukb-b-1209' on 'ukb-b-4461'
d_mr
## id.exposure id.outcome
## 1 ukb-b-1209 ukb-b-4461
## 2 ukb-b-1209 ukb-b-4461
## 3 ukb-b-1209 ukb-b-4461
## 4 ukb-b-1209 ukb-b-4461
## 5 ukb-b-1209 ukb-b-4461
## outcome
## 1 Job involves mainly walking or standing || id:ukb-b-4461
## 2 Job involves mainly walking or standing || id:ukb-b-4461
## 3 Job involves mainly walking or standing || id:ukb-b-4461
## 4 Job involves mainly walking or standing || id:ukb-b-4461
## 5 Job involves mainly walking or standing || id:ukb-b-4461
## 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.76937880 0.86426873 0.39652659
## 2 0.10453058 0.07566564 0.16713134
## 3 0.27208312 0.10657768 0.01068274
## 4 0.07527020 0.11898440 0.54118535
## 5 0.08006122 0.10872664 0.47843360
mr_scatter_plot(d_mr,d)
## $`ukb-b-1209.ukb-b-4461`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-1209 ukb-b-4461
These job types seem to have an effect on the number of children, but why?
d <- make_dat("ukb-b-969", "ukb-b-1209")
## Extracting data for 47 SNP(s) from 1 GWAS(s)
## Harmonising Time spend outdoors in summer || id:ukb-b-969 (ukb-b-969) and Number of live births || id:ukb-b-1209 (ukb-b-1209)
d_mr<-mr(d)
## Analysing 'ukb-b-969' on 'ukb-b-1209'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-969 ukb-b-1209 Number of live births || id:ukb-b-1209
## 2 ukb-b-969 ukb-b-1209 Number of live births || id:ukb-b-1209
## 3 ukb-b-969 ukb-b-1209 Number of live births || id:ukb-b-1209
## 4 ukb-b-969 ukb-b-1209 Number of live births || id:ukb-b-1209
## 5 ukb-b-969 ukb-b-1209 Number of live births || id:ukb-b-1209
## exposure method nsnp
## 1 Time spend outdoors in summer || id:ukb-b-969 MR Egger 47
## 2 Time spend outdoors in summer || id:ukb-b-969 Weighted median 47
## 3 Time spend outdoors in summer || id:ukb-b-969 Inverse variance weighted 47
## 4 Time spend outdoors in summer || id:ukb-b-969 Simple mode 47
## 5 Time spend outdoors in summer || id:ukb-b-969 Weighted mode 47
## b se pval
## 1 0.1704122 0.36139117 6.395300e-01
## 2 0.3041551 0.06492431 2.802833e-06
## 3 0.2606818 0.07174966 2.799141e-04
## 4 0.3078885 0.14658625 4.120592e-02
## 5 0.4041086 0.12276590 1.917975e-03
mr_scatter_plot(d_mr,d)
## $`ukb-b-969.ukb-b-1209`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-969 ukb-b-1209
d <- make_dat("ukb-b-1209", "ukb-b-969")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Harmonising Number of live births || id:ukb-b-1209 (ukb-b-1209) and Time spend outdoors in summer || id:ukb-b-969 (ukb-b-969)
d_mr<-mr(d)
## Analysing 'ukb-b-1209' on 'ukb-b-969'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-1209 ukb-b-969 Time spend outdoors in summer || id:ukb-b-969
## 2 ukb-b-1209 ukb-b-969 Time spend outdoors in summer || id:ukb-b-969
## 3 ukb-b-1209 ukb-b-969 Time spend outdoors in summer || id:ukb-b-969
## 4 ukb-b-1209 ukb-b-969 Time spend outdoors in summer || id:ukb-b-969
## 5 ukb-b-1209 ukb-b-969 Time spend outdoors in summer || id:ukb-b-969
## 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 -1.18698214 0.59707287 0.07804738
## 2 0.08223963 0.04866114 0.09101887
## 3 0.14977663 0.08536013 0.07932024
## 4 0.02393115 0.06523868 0.72139285
## 5 0.02393115 0.06266453 0.71053049
mr_scatter_plot(d_mr,d)
## $`ukb-b-1209.ukb-b-969`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-1209 ukb-b-969
d <- make_dat("ukb-b-5192", "ukb-b-1209")
## Extracting data for 113 SNP(s) from 1 GWAS(s)
## Harmonising Time spent watching television (TV) || id:ukb-b-5192 (ukb-b-5192) and Number of live births || id:ukb-b-1209 (ukb-b-1209)
## Removing the following SNPs for incompatible alleles:
## rs1889996
d_mr<-mr(d)
## Analysing 'ukb-b-5192' on 'ukb-b-1209'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-5192 ukb-b-1209 Number of live births || id:ukb-b-1209
## 2 ukb-b-5192 ukb-b-1209 Number of live births || id:ukb-b-1209
## 3 ukb-b-5192 ukb-b-1209 Number of live births || id:ukb-b-1209
## 4 ukb-b-5192 ukb-b-1209 Number of live births || id:ukb-b-1209
## 5 ukb-b-5192 ukb-b-1209 Number of live births || id:ukb-b-1209
## exposure
## 1 Time spent watching television (TV) || id:ukb-b-5192
## 2 Time spent watching television (TV) || id:ukb-b-5192
## 3 Time spent watching television (TV) || id:ukb-b-5192
## 4 Time spent watching television (TV) || id:ukb-b-5192
## 5 Time spent watching television (TV) || id:ukb-b-5192
## method nsnp b se pval
## 1 MR Egger 113 0.176716372 0.18797249 3.491983e-01
## 2 Weighted median 113 0.153694547 0.04877834 1.627811e-03
## 3 Inverse variance weighted 113 0.232035422 0.04170210 2.634804e-08
## 4 Simple mode 113 0.073814841 0.15493208 6.346937e-01
## 5 Weighted mode 113 0.007375638 0.14159582 9.585503e-01
mr_scatter_plot(d_mr,d)
## $`ukb-b-5192.ukb-b-1209`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-5192 ukb-b-1209
d <- make_dat("ukb-b-1209", "ukb-b-5192")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Harmonising Number of live births || id:ukb-b-1209 (ukb-b-1209) and Time spent watching television (TV) || id:ukb-b-5192 (ukb-b-5192)
d_mr<-mr(d)
## Analysing 'ukb-b-1209' on 'ukb-b-5192'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-1209 ukb-b-5192 Time spent watching television (TV) || id:ukb-b-5192
## 2 ukb-b-1209 ukb-b-5192 Time spent watching television (TV) || id:ukb-b-5192
## 3 ukb-b-1209 ukb-b-5192 Time spent watching television (TV) || id:ukb-b-5192
## 4 ukb-b-1209 ukb-b-5192 Time spent watching television (TV) || id:ukb-b-5192
## 5 ukb-b-1209 ukb-b-5192 Time spent watching television (TV) || id:ukb-b-5192
## 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.39024692 0.74785407 0.6143918
## 2 0.05027513 0.03879663 0.1950227
## 3 0.13157009 0.08777310 0.1338789
## 4 0.07709741 0.06266224 0.2467174
## 5 0.06292576 0.05810238 0.3042239
mr_scatter_plot(d_mr,d)
## $`ukb-b-1209.ukb-b-5192`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-1209 ukb-b-5192
d <- make_dat("ukb-b-4711", "ukb-b-1209")
## Extracting data for 57 SNP(s) from 1 GWAS(s)
## Harmonising Usual walking pace || id:ukb-b-4711 (ukb-b-4711) and Number of live births || id:ukb-b-1209 (ukb-b-1209)
d_mr<-mr(d)
## Analysing 'ukb-b-4711' on 'ukb-b-1209'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-4711 ukb-b-1209 Number of live births || id:ukb-b-1209
## 2 ukb-b-4711 ukb-b-1209 Number of live births || id:ukb-b-1209
## 3 ukb-b-4711 ukb-b-1209 Number of live births || id:ukb-b-1209
## 4 ukb-b-4711 ukb-b-1209 Number of live births || id:ukb-b-1209
## 5 ukb-b-4711 ukb-b-1209 Number of live births || id:ukb-b-1209
## exposure method nsnp
## 1 Usual walking pace || id:ukb-b-4711 MR Egger 57
## 2 Usual walking pace || id:ukb-b-4711 Weighted median 57
## 3 Usual walking pace || id:ukb-b-4711 Inverse variance weighted 57
## 4 Usual walking pace || id:ukb-b-4711 Simple mode 57
## 5 Usual walking pace || id:ukb-b-4711 Weighted mode 57
## b se pval
## 1 -0.07092676 0.34576938 8.382299e-01
## 2 -0.32860724 0.08950486 2.412351e-04
## 3 -0.36470922 0.08383616 1.359751e-05
## 4 -0.46648914 0.22624086 4.386807e-02
## 5 -0.47545692 0.22699222 4.074375e-02
mr_scatter_plot(d_mr,d)
## $`ukb-b-4711.ukb-b-1209`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-4711 ukb-b-1209
d <- make_dat("ukb-b-1209", "ukb-b-4711")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Harmonising Number of live births || id:ukb-b-1209 (ukb-b-1209) and Usual walking pace || id:ukb-b-4711 (ukb-b-4711)
d_mr<-mr(d)
## Analysing 'ukb-b-1209' on 'ukb-b-4711'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-1209 ukb-b-4711 Usual walking pace || id:ukb-b-4711
## 2 ukb-b-1209 ukb-b-4711 Usual walking pace || id:ukb-b-4711
## 3 ukb-b-1209 ukb-b-4711 Usual walking pace || id:ukb-b-4711
## 4 ukb-b-1209 ukb-b-4711 Usual walking pace || id:ukb-b-4711
## 5 ukb-b-1209 ukb-b-4711 Usual walking pace || id:ukb-b-4711
## 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.13852196 0.37265725 0.71870633
## 2 -0.05454757 0.02962419 0.06557486
## 3 -0.09607226 0.04352931 0.02730912
## 4 -0.05155978 0.04443832 0.27289549
## 5 -0.04846700 0.04261121 0.28188043
mr_scatter_plot(d_mr,d)
## $`ukb-b-1209.ukb-b-4711`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-1209 ukb-b-4711
d <- make_dat("ukb-b-17999", "ukb-b-1209")
## Extracting data for 12 SNP(s) from 1 GWAS(s)
## Harmonising Weekly usage of mobile phone in last 3 months || id:ukb-b-17999 (ukb-b-17999) and Number of live births || id:ukb-b-1209 (ukb-b-1209)
d_mr<-mr(d)
## Analysing 'ukb-b-17999' on 'ukb-b-1209'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-17999 ukb-b-1209 Number of live births || id:ukb-b-1209
## 2 ukb-b-17999 ukb-b-1209 Number of live births || id:ukb-b-1209
## 3 ukb-b-17999 ukb-b-1209 Number of live births || id:ukb-b-1209
## 4 ukb-b-17999 ukb-b-1209 Number of live births || id:ukb-b-1209
## 5 ukb-b-17999 ukb-b-1209 Number of live births || id:ukb-b-1209
## exposure
## 1 Weekly usage of mobile phone in last 3 months || id:ukb-b-17999
## 2 Weekly usage of mobile phone in last 3 months || id:ukb-b-17999
## 3 Weekly usage of mobile phone in last 3 months || id:ukb-b-17999
## 4 Weekly usage of mobile phone in last 3 months || id:ukb-b-17999
## 5 Weekly usage of mobile phone in last 3 months || id:ukb-b-17999
## method nsnp b se pval
## 1 MR Egger 12 0.8199758 0.56765724 0.179193909
## 2 Weighted median 12 0.2222900 0.08441973 0.008459643
## 3 Inverse variance weighted 12 0.2330106 0.09754713 0.016908191
## 4 Simple mode 12 0.2509527 0.16337715 0.152779448
## 5 Weighted mode 12 0.2381052 0.15772934 0.159327370
mr_scatter_plot(d_mr,d)
## $`ukb-b-17999.ukb-b-1209`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-17999 ukb-b-1209
d <- make_dat("ukb-b-1209", "ukb-b-17999")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Harmonising Number of live births || id:ukb-b-1209 (ukb-b-1209) and Weekly usage of mobile phone in last 3 months || id:ukb-b-17999 (ukb-b-17999)
d_mr<-mr(d)
## Analysing 'ukb-b-1209' on 'ukb-b-17999'
d_mr
## id.exposure id.outcome
## 1 ukb-b-1209 ukb-b-17999
## 2 ukb-b-1209 ukb-b-17999
## 3 ukb-b-1209 ukb-b-17999
## 4 ukb-b-1209 ukb-b-17999
## 5 ukb-b-1209 ukb-b-17999
## outcome
## 1 Weekly usage of mobile phone in last 3 months || id:ukb-b-17999
## 2 Weekly usage of mobile phone in last 3 months || id:ukb-b-17999
## 3 Weekly usage of mobile phone in last 3 months || id:ukb-b-17999
## 4 Weekly usage of mobile phone in last 3 months || id:ukb-b-17999
## 5 Weekly usage of mobile phone in last 3 months || id:ukb-b-17999
## 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 -1.56227371 0.57523494 0.02376727
## 2 0.07091786 0.06949697 0.30751732
## 3 0.24150549 0.09547326 0.01142051
## 4 0.01788791 0.09077662 0.84773264
## 5 0.02118032 0.07540032 0.78450954
mr_scatter_plot(d_mr,d)
## $`ukb-b-1209.ukb-b-17999`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-1209 ukb-b-17999