Investigating sexual behaviour 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
d <- make_dat("ukb-b-12405", "ieu-b-4760")
## API: public: http://gwas-api.mrcieu.ac.uk/
## Extracting data for 35 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ieu-b-4760
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Age at first live birth || id:ukb-b-12405 (ukb-b-12405) and Number of children || id:ieu-b-4760 (ieu-b-4760)
d_mr<-mr(d)
## Analysing 'ukb-b-12405' on 'ieu-b-4760'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-12405 ieu-b-4760 Number of children || id:ieu-b-4760
## 2 ukb-b-12405 ieu-b-4760 Number of children || id:ieu-b-4760
## 3 ukb-b-12405 ieu-b-4760 Number of children || id:ieu-b-4760
## 4 ukb-b-12405 ieu-b-4760 Number of children || id:ieu-b-4760
## 5 ukb-b-12405 ieu-b-4760 Number of children || id:ieu-b-4760
## exposure method nsnp
## 1 Age at first live birth || id:ukb-b-12405 MR Egger 35
## 2 Age at first live birth || id:ukb-b-12405 Weighted median 35
## 3 Age at first live birth || id:ukb-b-12405 Inverse variance weighted 35
## 4 Age at first live birth || id:ukb-b-12405 Simple mode 35
## 5 Age at first live birth || id:ukb-b-12405 Weighted mode 35
## b se pval
## 1 -0.3473208 0.15045346 2.737738e-02
## 2 -0.1694234 0.02669284 2.193447e-10
## 3 -0.1866257 0.02606411 8.052540e-13
## 4 -0.1825038 0.05978381 4.382305e-03
## 5 -0.1825038 0.06238366 6.086897e-03
mr_scatter_plot(d_mr,d)
## $`ukb-b-12405.ieu-b-4760`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-12405 ieu-b-4760
d <- make_dat("ieu-b-4760", "ukb-b-12405")
## Extracting data for 9 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ukb-b-12405
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Number of children || id:ieu-b-4760 (ieu-b-4760) and Age at first live birth || id:ukb-b-12405 (ukb-b-12405)
d_mr<-mr(d)
## Analysing 'ieu-b-4760' on 'ukb-b-12405'
d_mr
## id.exposure id.outcome outcome
## 1 ieu-b-4760 ukb-b-12405 Age at first live birth || id:ukb-b-12405
## 2 ieu-b-4760 ukb-b-12405 Age at first live birth || id:ukb-b-12405
## 3 ieu-b-4760 ukb-b-12405 Age at first live birth || id:ukb-b-12405
## 4 ieu-b-4760 ukb-b-12405 Age at first live birth || id:ukb-b-12405
## 5 ieu-b-4760 ukb-b-12405 Age at first live birth || id:ukb-b-12405
## exposure method nsnp b
## 1 Number of children || id:ieu-b-4760 MR Egger 8 2.7369835
## 2 Number of children || id:ieu-b-4760 Weighted median 8 -0.3147974
## 3 Number of children || id:ieu-b-4760 Inverse variance weighted 8 -0.7012976
## 4 Number of children || id:ieu-b-4760 Simple mode 8 -0.3354319
## 5 Number of children || id:ieu-b-4760 Weighted mode 8 -0.1909931
## se pval
## 1 0.9564446 0.02874054
## 2 0.1592883 0.04812362
## 3 0.2756188 0.01094505
## 4 0.2425641 0.20921075
## 5 0.1273188 0.17726898
mr_scatter_plot(d_mr,d)
## $`ieu-b-4760.ukb-b-12405`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ieu-b-4760 ukb-b-12405
Age at first live birth has a large effect on the number of children. Interestingly high effect in the reverse (which doesn’t make sense temporally) so maybe some form of bias going on.
d <- make_dat("ukb-b-6591", "ieu-b-4760")
## Extracting data for 200 SNP(s) from 1 GWAS(s)
## Finding proxies for 15 SNPs in outcome ieu-b-4760
## Extracting data for 15 SNP(s) from 1 GWAS(s)
## Harmonising Age first had sexual intercourse || id:ukb-b-6591 (ukb-b-6591) and Number of children || id:ieu-b-4760 (ieu-b-4760)
d_mr<-mr(d)
## Analysing 'ukb-b-6591' on 'ieu-b-4760'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-6591 ieu-b-4760 Number of children || id:ieu-b-4760
## 2 ukb-b-6591 ieu-b-4760 Number of children || id:ieu-b-4760
## 3 ukb-b-6591 ieu-b-4760 Number of children || id:ieu-b-4760
## 4 ukb-b-6591 ieu-b-4760 Number of children || id:ieu-b-4760
## 5 ukb-b-6591 ieu-b-4760 Number of children || id:ieu-b-4760
## exposure method
## 1 Age first had sexual intercourse || id:ukb-b-6591 MR Egger
## 2 Age first had sexual intercourse || id:ukb-b-6591 Weighted median
## 3 Age first had sexual intercourse || id:ukb-b-6591 Inverse variance weighted
## 4 Age first had sexual intercourse || id:ukb-b-6591 Simple mode
## 5 Age first had sexual intercourse || id:ukb-b-6591 Weighted mode
## nsnp b se pval
## 1 197 -0.2995136 0.06471895 6.726807e-06
## 2 197 -0.1603398 0.01596348 9.747146e-24
## 3 197 -0.1624187 0.01454611 5.995993e-29
## 4 197 -0.2277443 0.05484458 4.903648e-05
## 5 197 -0.2277443 0.05095283 1.323507e-05
mr_scatter_plot(d_mr,d)
## $`ukb-b-6591.ieu-b-4760`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-6591 ieu-b-4760
d <- make_dat("ieu-b-4760", "ukb-b-6591")
## Extracting data for 9 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ukb-b-6591
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Number of children || id:ieu-b-4760 (ieu-b-4760) and Age first had sexual intercourse || id:ukb-b-6591 (ukb-b-6591)
d_mr<-mr(d)
## Analysing 'ieu-b-4760' on 'ukb-b-6591'
d_mr
## id.exposure id.outcome outcome
## 1 ieu-b-4760 ukb-b-6591 Age first had sexual intercourse || id:ukb-b-6591
## 2 ieu-b-4760 ukb-b-6591 Age first had sexual intercourse || id:ukb-b-6591
## 3 ieu-b-4760 ukb-b-6591 Age first had sexual intercourse || id:ukb-b-6591
## 4 ieu-b-4760 ukb-b-6591 Age first had sexual intercourse || id:ukb-b-6591
## 5 ieu-b-4760 ukb-b-6591 Age first had sexual intercourse || id:ukb-b-6591
## exposure method nsnp b
## 1 Number of children || id:ieu-b-4760 MR Egger 8 -0.3940824
## 2 Number of children || id:ieu-b-4760 Weighted median 8 -0.8060908
## 3 Number of children || id:ieu-b-4760 Inverse variance weighted 8 -0.9730322
## 4 Number of children || id:ieu-b-4760 Simple mode 8 -0.9542976
## 5 Number of children || id:ieu-b-4760 Weighted mode 8 -0.8523506
## se pval
## 1 1.3043858 7.727586e-01
## 2 0.1295378 4.882946e-10
## 3 0.2130925 4.965420e-06
## 4 0.2453007 5.972947e-03
## 5 0.3932080 6.684523e-02
mr_scatter_plot(d_mr,d)
## $`ieu-b-4760.ukb-b-6591`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ieu-b-4760 ukb-b-6591
Very highly related, in BOTH directions..
d <- make_dat("ukb-b-4256", "ieu-b-4760")
## Extracting data for 63 SNP(s) from 1 GWAS(s)
## Finding proxies for 3 SNPs in outcome ieu-b-4760
## Extracting data for 3 SNP(s) from 1 GWAS(s)
## Harmonising Lifetime number of sexual partners || id:ukb-b-4256 (ukb-b-4256) and Number of children || id:ieu-b-4760 (ieu-b-4760)
d_mr<-mr(d)
## Analysing 'ukb-b-4256' on 'ieu-b-4760'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-4256 ieu-b-4760 Number of children || id:ieu-b-4760
## 2 ukb-b-4256 ieu-b-4760 Number of children || id:ieu-b-4760
## 3 ukb-b-4256 ieu-b-4760 Number of children || id:ieu-b-4760
## 4 ukb-b-4256 ieu-b-4760 Number of children || id:ieu-b-4760
## 5 ukb-b-4256 ieu-b-4760 Number of children || id:ieu-b-4760
## exposure method
## 1 Lifetime number of sexual partners || id:ukb-b-4256 MR Egger
## 2 Lifetime number of sexual partners || id:ukb-b-4256 Weighted median
## 3 Lifetime number of sexual partners || id:ukb-b-4256 Inverse variance weighted
## 4 Lifetime number of sexual partners || id:ukb-b-4256 Simple mode
## 5 Lifetime number of sexual partners || id:ukb-b-4256 Weighted mode
## nsnp b se pval
## 1 62 0.12635883 0.21261738 0.5545448
## 2 62 -0.01050021 0.03670790 0.7748417
## 3 62 -0.03752705 0.04553182 0.4098294
## 4 62 0.04449240 0.08612216 0.6072897
## 5 62 0.03882922 0.08839008 0.6620009
mr_scatter_plot(d_mr,d)
## $`ukb-b-4256.ieu-b-4760`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-4256 ieu-b-4760
d <- make_dat("ieu-b-4760", "ukb-b-4256")
## Extracting data for 9 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ukb-b-4256
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Number of children || id:ieu-b-4760 (ieu-b-4760) and Lifetime number of sexual partners || id:ukb-b-4256 (ukb-b-4256)
d_mr<-mr(d)
## Analysing 'ieu-b-4760' on 'ukb-b-4256'
d_mr
## id.exposure id.outcome outcome
## 1 ieu-b-4760 ukb-b-4256 Lifetime number of sexual partners || id:ukb-b-4256
## 2 ieu-b-4760 ukb-b-4256 Lifetime number of sexual partners || id:ukb-b-4256
## 3 ieu-b-4760 ukb-b-4256 Lifetime number of sexual partners || id:ukb-b-4256
## 4 ieu-b-4760 ukb-b-4256 Lifetime number of sexual partners || id:ukb-b-4256
## 5 ieu-b-4760 ukb-b-4256 Lifetime number of sexual partners || id:ukb-b-4256
## exposure method nsnp b
## 1 Number of children || id:ieu-b-4760 MR Egger 8 1.0964920
## 2 Number of children || id:ieu-b-4760 Weighted median 8 0.2752280
## 3 Number of children || id:ieu-b-4760 Inverse variance weighted 8 0.1081888
## 4 Number of children || id:ieu-b-4760 Simple mode 8 0.3169767
## 5 Number of children || id:ieu-b-4760 Weighted mode 8 0.3726348
## se pval
## 1 1.16384482 0.382495654
## 2 0.09833029 0.005125874
## 3 0.19813371 0.585039035
## 4 0.12946663 0.044215582
## 5 0.12948941 0.023728600
mr_scatter_plot(d_mr,d)
## $`ieu-b-4760.ukb-b-4256`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ieu-b-4760 ukb-b-4256
No impact.