Investigating various mental states in relation to number of children

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

Miserableness

d <- make_dat("ukb-b-18994", "ieu-b-4760")
## API: public: http://gwas-api.mrcieu.ac.uk/
## Extracting data for 48 SNP(s) from 1 GWAS(s)
## Finding proxies for 4 SNPs in outcome ieu-b-4760
## Extracting data for 4 SNP(s) from 1 GWAS(s)
## Harmonising Miserableness || id:ukb-b-18994 (ukb-b-18994) and Number of children || id:ieu-b-4760 (ieu-b-4760)
d_mr<-mr(d)
## Analysing 'ukb-b-18994' on 'ieu-b-4760'
d_mr
##   id.exposure id.outcome                             outcome
## 1 ukb-b-18994 ieu-b-4760 Number of children || id:ieu-b-4760
## 2 ukb-b-18994 ieu-b-4760 Number of children || id:ieu-b-4760
## 3 ukb-b-18994 ieu-b-4760 Number of children || id:ieu-b-4760
## 4 ukb-b-18994 ieu-b-4760 Number of children || id:ieu-b-4760
## 5 ukb-b-18994 ieu-b-4760 Number of children || id:ieu-b-4760
##                          exposure                    method nsnp          b
## 1 Miserableness || id:ukb-b-18994                  MR Egger   46 0.30844831
## 2 Miserableness || id:ukb-b-18994           Weighted median   46 0.06417595
## 3 Miserableness || id:ukb-b-18994 Inverse variance weighted   46 0.10501560
## 4 Miserableness || id:ukb-b-18994               Simple mode   46 0.25767786
## 5 Miserableness || id:ukb-b-18994             Weighted mode   46 0.23684351
##           se      pval
## 1 0.31656146 0.3351990
## 2 0.07717578 0.4056598
## 3 0.07335324 0.1522462
## 4 0.20511636 0.2155074
## 5 0.18492014 0.2068300
mr_scatter_plot(d_mr,d)
## $`ukb-b-18994.ieu-b-4760`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure id.outcome
## 1 ukb-b-18994 ieu-b-4760
d <- make_dat("ieu-b-4760", "ukb-b-18994")
## Extracting data for 9 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ukb-b-18994
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Number of children || id:ieu-b-4760 (ieu-b-4760) and Miserableness || id:ukb-b-18994 (ukb-b-18994)
d_mr<-mr(d)
## Analysing 'ieu-b-4760' on 'ukb-b-18994'
d_mr
##   id.exposure  id.outcome                         outcome
## 1  ieu-b-4760 ukb-b-18994 Miserableness || id:ukb-b-18994
## 2  ieu-b-4760 ukb-b-18994 Miserableness || id:ukb-b-18994
## 3  ieu-b-4760 ukb-b-18994 Miserableness || id:ukb-b-18994
## 4  ieu-b-4760 ukb-b-18994 Miserableness || id:ukb-b-18994
## 5  ieu-b-4760 ukb-b-18994 Miserableness || id:ukb-b-18994
##                              exposure                    method nsnp
## 1 Number of children || id:ieu-b-4760                  MR Egger    8
## 2 Number of children || id:ieu-b-4760           Weighted median    8
## 3 Number of children || id:ieu-b-4760 Inverse variance weighted    8
## 4 Number of children || id:ieu-b-4760               Simple mode    8
## 5 Number of children || id:ieu-b-4760             Weighted mode    8
##             b         se      pval
## 1 -0.47200736 0.44333357 0.3279802
## 2 -0.02905840 0.03787768 0.4429838
## 3  0.07222224 0.07990465 0.3660721
## 4 -0.03545515 0.04706834 0.4758543
## 5 -0.03803850 0.03790086 0.3489805
mr_scatter_plot(d_mr,d)
## $`ieu-b-4760.ukb-b-18994`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure  id.outcome
## 1  ieu-b-4760 ukb-b-18994

No effect

Mood swings

d <- make_dat("ukb-b-14180", "ieu-b-4760")
## Extracting data for 57 SNP(s) from 1 GWAS(s)
## Finding proxies for 5 SNPs in outcome ieu-b-4760
## Extracting data for 5 SNP(s) from 1 GWAS(s)
## Harmonising Mood swings || id:ukb-b-14180 (ukb-b-14180) and Number of children || id:ieu-b-4760 (ieu-b-4760)
d_mr<-mr(d)
## Analysing 'ukb-b-14180' on 'ieu-b-4760'
d_mr
##   id.exposure id.outcome                             outcome
## 1 ukb-b-14180 ieu-b-4760 Number of children || id:ieu-b-4760
## 2 ukb-b-14180 ieu-b-4760 Number of children || id:ieu-b-4760
## 3 ukb-b-14180 ieu-b-4760 Number of children || id:ieu-b-4760
## 4 ukb-b-14180 ieu-b-4760 Number of children || id:ieu-b-4760
## 5 ukb-b-14180 ieu-b-4760 Number of children || id:ieu-b-4760
##                        exposure                    method nsnp          b
## 1 Mood swings || id:ukb-b-14180                  MR Egger   56 0.61456755
## 2 Mood swings || id:ukb-b-14180           Weighted median   56 0.10380376
## 3 Mood swings || id:ukb-b-14180 Inverse variance weighted   56 0.21701947
## 4 Mood swings || id:ukb-b-14180               Simple mode   56 0.01626872
## 5 Mood swings || id:ukb-b-14180             Weighted mode   56 0.04801750
##           se       pval
## 1 0.36787369 0.10058878
## 2 0.06445109 0.10727085
## 3 0.06617767 0.00104048
## 4 0.15721338 0.91795700
## 5 0.15543251 0.75854332
mr_scatter_plot(d_mr,d)
## $`ukb-b-14180.ieu-b-4760`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure id.outcome
## 1 ukb-b-14180 ieu-b-4760
d <- make_dat("ieu-b-4760", "ukb-b-14180")
## Extracting data for 9 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ukb-b-14180
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Number of children || id:ieu-b-4760 (ieu-b-4760) and Mood swings || id:ukb-b-14180 (ukb-b-14180)
d_mr<-mr(d)
## Analysing 'ieu-b-4760' on 'ukb-b-14180'
d_mr
##   id.exposure  id.outcome                       outcome
## 1  ieu-b-4760 ukb-b-14180 Mood swings || id:ukb-b-14180
## 2  ieu-b-4760 ukb-b-14180 Mood swings || id:ukb-b-14180
## 3  ieu-b-4760 ukb-b-14180 Mood swings || id:ukb-b-14180
## 4  ieu-b-4760 ukb-b-14180 Mood swings || id:ukb-b-14180
## 5  ieu-b-4760 ukb-b-14180 Mood swings || id:ukb-b-14180
##                              exposure                    method nsnp
## 1 Number of children || id:ieu-b-4760                  MR Egger    8
## 2 Number of children || id:ieu-b-4760           Weighted median    8
## 3 Number of children || id:ieu-b-4760 Inverse variance weighted    8
## 4 Number of children || id:ieu-b-4760               Simple mode    8
## 5 Number of children || id:ieu-b-4760             Weighted mode    8
##             b         se      pval
## 1 -0.78104241 0.49113264 0.1628731
## 2 -0.04536178 0.04673670 0.3317567
## 3  0.09522941 0.09812328 0.3317934
## 4  0.02801825 0.05481891 0.6249988
## 5 -0.03021244 0.04178096 0.4930572
mr_scatter_plot(d_mr,d)
## $`ieu-b-4760.ukb-b-14180`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure  id.outcome
## 1  ieu-b-4760 ukb-b-14180

No consistent effect.

Nervous feelings

d <- make_dat("ukb-b-20544", "ieu-b-4760")
## Extracting data for 58 SNP(s) from 1 GWAS(s)
## Finding proxies for 5 SNPs in outcome ieu-b-4760
## Extracting data for 5 SNP(s) from 1 GWAS(s)
## Harmonising Nervous feelings || id:ukb-b-20544 (ukb-b-20544) and Number of children || id:ieu-b-4760 (ieu-b-4760)
d_mr<-mr(d)
## Analysing 'ukb-b-20544' on 'ieu-b-4760'
d_mr
##   id.exposure id.outcome                             outcome
## 1 ukb-b-20544 ieu-b-4760 Number of children || id:ieu-b-4760
## 2 ukb-b-20544 ieu-b-4760 Number of children || id:ieu-b-4760
## 3 ukb-b-20544 ieu-b-4760 Number of children || id:ieu-b-4760
## 4 ukb-b-20544 ieu-b-4760 Number of children || id:ieu-b-4760
## 5 ukb-b-20544 ieu-b-4760 Number of children || id:ieu-b-4760
##                             exposure                    method nsnp          b
## 1 Nervous feelings || id:ukb-b-20544                  MR Egger   57 -0.3003523
## 2 Nervous feelings || id:ukb-b-20544           Weighted median   57 -0.2185926
## 3 Nervous feelings || id:ukb-b-20544 Inverse variance weighted   57 -0.2703941
## 4 Nervous feelings || id:ukb-b-20544               Simple mode   57 -0.2937437
## 5 Nervous feelings || id:ukb-b-20544             Weighted mode   57 -0.2840326
##           se        pval
## 1 0.49798754 0.548899968
## 2 0.07706922 0.004563728
## 3 0.09696233 0.005292802
## 4 0.16919399 0.088039156
## 5 0.17132157 0.102931449
mr_scatter_plot(d_mr,d)
## $`ukb-b-20544.ieu-b-4760`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure id.outcome
## 1 ukb-b-20544 ieu-b-4760
d <- make_dat("ieu-b-4760", "ukb-b-20544")
## Extracting data for 9 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ukb-b-20544
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Number of children || id:ieu-b-4760 (ieu-b-4760) and Nervous feelings || id:ukb-b-20544 (ukb-b-20544)
d_mr<-mr(d)
## Analysing 'ieu-b-4760' on 'ukb-b-20544'
d_mr
##   id.exposure  id.outcome                            outcome
## 1  ieu-b-4760 ukb-b-20544 Nervous feelings || id:ukb-b-20544
## 2  ieu-b-4760 ukb-b-20544 Nervous feelings || id:ukb-b-20544
## 3  ieu-b-4760 ukb-b-20544 Nervous feelings || id:ukb-b-20544
## 4  ieu-b-4760 ukb-b-20544 Nervous feelings || id:ukb-b-20544
## 5  ieu-b-4760 ukb-b-20544 Nervous feelings || id:ukb-b-20544
##                              exposure                    method nsnp
## 1 Number of children || id:ieu-b-4760                  MR Egger    8
## 2 Number of children || id:ieu-b-4760           Weighted median    8
## 3 Number of children || id:ieu-b-4760 Inverse variance weighted    8
## 4 Number of children || id:ieu-b-4760               Simple mode    8
## 5 Number of children || id:ieu-b-4760             Weighted mode    8
##             b         se      pval
## 1 -0.65314354 0.60152073 0.3192456
## 2  0.01593226 0.04047063 0.6938213
## 3 -0.04312008 0.10480584 0.6807586
## 4  0.01838325 0.06041281 0.7697508
## 5  0.05397961 0.04403177 0.2598654
mr_scatter_plot(d_mr,d)
## $`ieu-b-4760.ukb-b-20544`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure  id.outcome
## 1  ieu-b-4760 ukb-b-20544

Suffer from ‘nerves’

d <- make_dat("ukb-b-19957", "ieu-b-4760")
## Extracting data for 22 SNP(s) from 1 GWAS(s)
## Finding proxies for 2 SNPs in outcome ieu-b-4760
## Extracting data for 2 SNP(s) from 1 GWAS(s)
## Harmonising Suffer from 'nerves' || id:ukb-b-19957 (ukb-b-19957) and Number of children || id:ieu-b-4760 (ieu-b-4760)
d_mr<-mr(d)
## Analysing 'ukb-b-19957' on 'ieu-b-4760'
d_mr
##   id.exposure id.outcome                             outcome
## 1 ukb-b-19957 ieu-b-4760 Number of children || id:ieu-b-4760
## 2 ukb-b-19957 ieu-b-4760 Number of children || id:ieu-b-4760
## 3 ukb-b-19957 ieu-b-4760 Number of children || id:ieu-b-4760
## 4 ukb-b-19957 ieu-b-4760 Number of children || id:ieu-b-4760
## 5 ukb-b-19957 ieu-b-4760 Number of children || id:ieu-b-4760
##                                 exposure                    method nsnp
## 1 Suffer from 'nerves' || id:ukb-b-19957                  MR Egger   22
## 2 Suffer from 'nerves' || id:ukb-b-19957           Weighted median   22
## 3 Suffer from 'nerves' || id:ukb-b-19957 Inverse variance weighted   22
## 4 Suffer from 'nerves' || id:ukb-b-19957               Simple mode   22
## 5 Suffer from 'nerves' || id:ukb-b-19957             Weighted mode   22
##            b        se         pval
## 1 -2.0274524 1.1729184 0.0992973844
## 2 -0.4903864 0.1271627 0.0001150834
## 3 -0.6315842 0.1874781 0.0007548478
## 4 -0.4541537 0.2115251 0.0436222377
## 5 -0.4956042 0.2079489 0.0266791731
mr_scatter_plot(d_mr,d)
## $`ukb-b-19957.ieu-b-4760`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure id.outcome
## 1 ukb-b-19957 ieu-b-4760
d <- make_dat("ieu-b-4760", "ukb-b-19957")
## Extracting data for 9 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ukb-b-19957
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Number of children || id:ieu-b-4760 (ieu-b-4760) and Suffer from 'nerves' || id:ukb-b-19957 (ukb-b-19957)
d_mr<-mr(d)
## Analysing 'ieu-b-4760' on 'ukb-b-19957'
d_mr
##   id.exposure  id.outcome                                outcome
## 1  ieu-b-4760 ukb-b-19957 Suffer from 'nerves' || id:ukb-b-19957
## 2  ieu-b-4760 ukb-b-19957 Suffer from 'nerves' || id:ukb-b-19957
## 3  ieu-b-4760 ukb-b-19957 Suffer from 'nerves' || id:ukb-b-19957
## 4  ieu-b-4760 ukb-b-19957 Suffer from 'nerves' || id:ukb-b-19957
## 5  ieu-b-4760 ukb-b-19957 Suffer from 'nerves' || id:ukb-b-19957
##                              exposure                    method nsnp
## 1 Number of children || id:ieu-b-4760                  MR Egger    8
## 2 Number of children || id:ieu-b-4760           Weighted median    8
## 3 Number of children || id:ieu-b-4760 Inverse variance weighted    8
## 4 Number of children || id:ieu-b-4760               Simple mode    8
## 5 Number of children || id:ieu-b-4760             Weighted mode    8
##             b         se      pval
## 1 -0.66964813 0.38752359 0.1347233
## 2 -0.05219743 0.04096641 0.2026095
## 3 -0.05801818 0.07438910 0.4354329
## 4 -0.03345593 0.06251453 0.6091047
## 5 -0.03104579 0.05921825 0.6162831
mr_scatter_plot(d_mr,d)
## $`ieu-b-4760.ukb-b-19957`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure  id.outcome
## 1  ieu-b-4760 ukb-b-19957
d <- mv_extract_exposures(c("ukb-b-20544", "ukb-b-19957"))
## Please look at vignettes for options on running this locally if you need to run many instances of this command.
## Clumping 1, 79 variants, using EUR population reference
## Removing 19 of 79 variants due to LD with other variants or absence from LD reference panel
## Extracting data for 60 SNP(s) from 2 GWAS(s)
## Harmonising Nervous feelings || id:ukb-b-20544 (ukb-b-20544) and Suffer from 'nerves' || id:ukb-b-19957 (ukb-b-19957)
## Removing the following SNPs for being palindromic with intermediate allele frequencies:
## rs11685036, rs12786955, rs1383264, rs247913
o <- extract_outcome_data(d$SNP, "ieu-b-4760")
## Extracting data for 60 SNP(s) from 1 GWAS(s)
## Finding proxies for 4 SNPs in outcome ieu-b-4760
## Extracting data for 4 SNP(s) from 1 GWAS(s)
d <- mv_harmonise_data(d, o)
## Harmonising Nervous feelings || id:ukb-b-20544 (ukb-b-20544) and Number of children || id:ieu-b-4760 (ieu-b-4760)
## Removing the following SNPs for being palindromic with intermediate allele frequencies:
## rs11685036, rs12786955, rs1383264, rs247913
mv_multiple(d)
## $result
##   id.exposure                               exposure id.outcome
## 1 ukb-b-19957 Suffer from 'nerves' || id:ukb-b-19957 ieu-b-4760
## 2 ukb-b-20544     Nervous feelings || id:ukb-b-20544 ieu-b-4760
##                               outcome nsnp          b        se       pval
## 1 Number of children || id:ieu-b-4760   14 -0.6928226 0.3417115 0.04261052
## 2 Number of children || id:ieu-b-4760   48  0.2398641 0.2402381 0.31806447

Suffer from nerves a better predictor.

Frequency of tenseness / restlessness in last 2 weeks

d <- make_dat("ukb-b-5664", "ieu-b-4760")
## Extracting data for 18 SNP(s) from 1 GWAS(s)
## Finding proxies for 2 SNPs in outcome ieu-b-4760
## Extracting data for 2 SNP(s) from 1 GWAS(s)
## Harmonising Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664 (ukb-b-5664) and Number of children || id:ieu-b-4760 (ieu-b-4760)
d_mr<-mr(d)
## Analysing 'ukb-b-5664' on 'ieu-b-4760'
d_mr
##   id.exposure id.outcome                             outcome
## 1  ukb-b-5664 ieu-b-4760 Number of children || id:ieu-b-4760
## 2  ukb-b-5664 ieu-b-4760 Number of children || id:ieu-b-4760
## 3  ukb-b-5664 ieu-b-4760 Number of children || id:ieu-b-4760
## 4  ukb-b-5664 ieu-b-4760 Number of children || id:ieu-b-4760
## 5  ukb-b-5664 ieu-b-4760 Number of children || id:ieu-b-4760
##                                                                 exposure
## 1 Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664
## 2 Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664
## 3 Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664
## 4 Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664
## 5 Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664
##                      method nsnp          b        se        pval
## 1                  MR Egger   16 0.51267913 0.4074659 0.228894579
## 2           Weighted median   16 0.17782267 0.1088849 0.102442660
## 3 Inverse variance weighted   16 0.31999987 0.1119697 0.004264341
## 4               Simple mode   16 0.04218362 0.2095376 0.843154744
## 5             Weighted mode   16 0.05904848 0.1841619 0.752911629
mr_scatter_plot(d_mr,d)
## $`ukb-b-5664.ieu-b-4760`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure id.outcome
## 1  ukb-b-5664 ieu-b-4760
d <- make_dat("ieu-b-4760", "ukb-b-5664")
## Extracting data for 9 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ukb-b-5664
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Number of children || id:ieu-b-4760 (ieu-b-4760) and Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664 (ukb-b-5664)
d_mr<-mr(d)
## Analysing 'ieu-b-4760' on 'ukb-b-5664'
d_mr
##   id.exposure id.outcome
## 1  ieu-b-4760 ukb-b-5664
## 2  ieu-b-4760 ukb-b-5664
## 3  ieu-b-4760 ukb-b-5664
## 4  ieu-b-4760 ukb-b-5664
## 5  ieu-b-4760 ukb-b-5664
##                                                                  outcome
## 1 Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664
## 2 Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664
## 3 Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664
## 4 Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664
## 5 Frequency of tenseness / restlessness in last 2 weeks || id:ukb-b-5664
##                              exposure                    method nsnp
## 1 Number of children || id:ieu-b-4760                  MR Egger    8
## 2 Number of children || id:ieu-b-4760           Weighted median    8
## 3 Number of children || id:ieu-b-4760 Inverse variance weighted    8
## 4 Number of children || id:ieu-b-4760               Simple mode    8
## 5 Number of children || id:ieu-b-4760             Weighted mode    8
##             b         se      pval
## 1 -0.34006996 0.57319563 0.5746556
## 2 -0.02473377 0.05068128 0.6255316
## 3  0.09922668 0.09660719 0.3043664
## 4 -0.01247104 0.06784562 0.8593700
## 5 -0.02256278 0.05819472 0.7097491
mr_scatter_plot(d_mr,d)
## $`ieu-b-4760.ukb-b-5664`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure id.outcome
## 1  ieu-b-4760 ukb-b-5664

Maybe some evidence?