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

Jobs

Job involves heavy manual or physical work

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

Job involves mainly walking or standing

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?

Time spent

Time spend outdoors in summer

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

Time spent watching television (TV)

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

Usual walking pace

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

Weekly usage of mobile phone in last 3 months

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