### devtools::install_github("paytonjjones/networktree")
### https://paytonjjones.github.io/networktree/articles/returns.html
require(networktree)
## Loading required package: networktree
data(workaholic)
head(workaholic)
## Gender Age Age_Groups Marital_Status
## 1 Male 47 4 Married/common law partner/partner/boy- og girlfriend
## 2 Female 49 4 Single/divorsed/separated/widow/widower
## 3 Female 49 4 Married/common law partner/partner/boy- og girlfriend
## 4 Female 39 3 Married/common law partner/partner/boy- og girlfriend
## 5 Female 42 3 Married/common law partner/partner/boy- og girlfriend
## 6 Female 44 3 Married/common law partner/partner/boy- og girlfriend
## Work_Full_Position Part_Time_Position Percentage_Full_Time_Equivalent Retired
## 1 Yes No No
## 2 No Yes 60 No
## 3 No Yes 40 No
## 4 Yes No No
## 5 Yes No No
## 6 Yes No No
## Student Disability_Pension Rehabilitation_Money Unemployed Homemaker Other
## 1 No No No No No No
## 2 No No No No No No
## 3 No No No No No No
## 4 No No No No No No
## 5 No No No No No No
## 6 No No No No No No
## Highest_Completed_Education Primary_school High_school Vocational_school
## 1 University / bachelor degree 0 0 0
## 2 University / bachelor degree 0 0 0
## 3 University / bachelor degree 0 0 0
## 4 University / bachelor degree 0 0 0
## 5 University / master degree 0 0 0
## 6 University / bachelor degree 0 0 0
## Bachelor Master_PhD Income_last_year_before_tax Work_sector Private Public
## 1 1 0 1 million NOK or more Private 1 0
## 2 1 0 300 000 - 399 999 NOK Private 1 0
## 3 1 0 300 000 - 399 999 NOK Private 1 0
## 4 1 0 500 000 - 599 999 NOK Public 0 1
## 5 0 1 700 000 - 799 999 NOK Private 1 0
## 6 1 0 600 000 - 699 999 NOK Private 1 0
## Franchise Line_of_business Leader_role Top_leader
## 1 0 Administration/office/personnel Top leader 1
## 2 0 Administration/office/personnel Top leader 1
## 3 0 Administration/office/personnel Top leader 1
## 4 0 Administration/office/personnel Top leader 1
## 5 0 Bank/finace/ensurance Top leader 1
## 6 0 Bank/finace/ensurance Top leader 1
## MidLevel_leader Other_leader No_leader HADS1 HADS2 HADS3 HADS4 HADS5 HADS6
## 1 0 0 0 0 2 0 1 0 0
## 2 0 0 0 0 1 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 1 0 0 0 1
## 6 0 0 0 0 0 0 0 0 0
## HADS7 HADS8 HADS9 HADS10 HADS11 HADS12 HADS13 HADS14 OCIR1 OCIR2 OCIR3 OCIR4
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 1 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 1 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 1 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## OCIR5 OCIR6 OCIR7 OCIR8 OCIR9 OCIR10 OCIR11 OCIR12 OCIR13 OCIR14 OCIR15
## 1 0 0 0 0 0 0 1 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 1 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 2 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## OCIR16 OCIR17 OCIR18 ASRS1 ASRS2 ASRS3 ASRS4 ASRS5 ASRS6 ASRS7 ASRS8 ASRS9
## 1 0 0 0 3 2 1 2 2 2 1 1 2
## 2 0 0 0 2 2 1 1 1 1 1 3 3
## 3 0 0 0 2 1 1 1 2 1 2 2 1
## 4 0 0 0 2 2 1 3 3 1 3 2 2
## 5 0 0 0 3 1 3 3 1 1 3 3 2
## 6 0 0 0 2 1 2 2 1 2 2 2 2
## ASRS10 ASRS11 ASRS12 ASRS13 ASRS14 ASRS15 ASRS16 ASRS17 ASRS18 BWAS1 BWAS2
## 1 1 2 1 2 2 2 2 1 2 2 3
## 2 2 2 1 1 1 1 2 1 1 1 2
## 3 1 2 1 1 1 4 4 3 3 1 1
## 4 2 2 1 1 1 1 2 3 3 2 1
## 5 4 1 1 1 1 2 3 2 2 3 4
## 6 2 2 2 1 1 2 2 2 2 2 2
## BWAS3 BWAS4 BWAS5 BWAS6 BWAS7 SumHADSanxiety SumHADSdepression OCIR_WASHING
## 1 1 3 1 4 1 0 3 4
## 2 1 1 2 1 1 0 2 3
## 3 1 1 1 1 1 0 0 3
## 4 1 1 1 1 1 0 0 3
## 5 3 3 3 3 3 0 2 3
## 6 1 2 1 2 1 0 0 3
## OCIR_OBSESSION OCIR_HOARDING OCIR_ORDERING OCIR_CHECKING OCIR_NEUTRALIZING
## 1 3 3 3 3 3
## 2 3 3 3 3 3
## 3 3 3 3 4 3
## 4 3 3 4 3 3
## 5 3 3 3 6 3
## 6 3 3 3 3 3
## SUM_ADULT_ADHD_SELF_REPORT_SCALE SUM_BERGEN_WORK_ADDICTION_SCALE
## 1 31 15
## 2 27 9
## 3 33 7
## 4 35 8
## 5 37 22
## 6 32 11
## Workaholism_diagnosis OCD_DIAGNOSIS ADHD_DIAGNOSIS
## 1 0 Ikke diagnose (skåre 1-21) 0
## 2 0 Ikke diagnose (skåre 1-21) 0
## 3 0 Ikke diagnose (skåre 1-21) 0
## 4 0 Ikke diagnose (skåre 1-21) 0
## 5 0 Ikke diagnose (skåre 1-21) 0
## 6 0 Ikke diagnose (skåre 1-21) 0
## ANXIETY_DIAGNOSIS DEPRESSION_DIAGNOSIS
## 1 0 0
## 2 0 0
## 3 0 0
## 4 0 0
## 5 0 0
## 6 0 0
OCD_vars <- paste("OCIR", 1:18, sep="")
OCD_names <- c("hoard1","check1","arrange1","count","contaminate",
"thought1","hoard2","check2",
"arrange2","numbers1","wash1","thought2",
"hoard3", "check3", "arrange3", "numbers2",
"wash2", "thought3")
cor_OCD <- cor(workaholic[,OCD_vars])
q1 <- qgraph::qgraph(cor_OCD, layout="spring", labels=OCD_names)
## Registered S3 methods overwritten by 'huge':
## method from
## plot.sim BDgraph
## print.sim BDgraph

q1
## From To Weight
## 1 --- 2 0.26
## 1 --- 3 0.16
## 2 --- 3 0.36
## 1 --- 4 0.15
## 2 --- 4 0.3
## 3 --- 4 0.31
## 1 --- 5 0.08
## 2 --- 5 0.2
## 3 --- 5 0.24
## 4 --- 5 0.25
## 1 --- 6 0.16
## 2 --- 6 0.34
## 3 --- 6 0.26
## 4 --- 6 0.27
## 5 --- 6 0.25
## 1 --- 7 0.58
## 2 --- 7 0.23
## 3 --- 7 0.14
## 4 --- 7 0.19
## 5 --- 7 0.12
## 6 --- 7 0.21
## 1 --- 8 0.16
## 2 --- 8 0.42
## 3 --- 8 0.24
## 4 --- 8 0.32
## 5 --- 8 0.25
## 6 --- 8 0.25
## 7 --- 8 0.22
## 1 --- 9 0.15
## 2 --- 9 0.3
## 3 --- 9 0.59
## 4 --- 9 0.33
## 5 --- 9 0.29
## 6 --- 9 0.31
## 7 --- 9 0.2
## 8 --- 9 0.33
## 1 --- 10 0.11
## 2 --- 10 0.22
## 3 --- 10 0.2
## 4 --- 10 0.45
## 5 --- 10 0.23
## 6 --- 10 0.23
## 7 --- 10 0.15
## 8 --- 10 0.3
## 9 --- 10 0.26
## 1 --- 11 0.1
## 2 --- 11 0.21
## 3 --- 11 0.23
## 4 --- 11 0.23
## 5 --- 11 0.3
## 6 --- 11 0.21
## 7 --- 11 0.16
## 8 --- 11 0.22
## 9 --- 11 0.26
## 10 --- 11 0.23
## 1 --- 12 0.15
## 2 --- 12 0.32
## 3 --- 12 0.24
## 4 --- 12 0.27
## 5 --- 12 0.23
## 6 --- 12 0.63
## 7 --- 12 0.19
## 8 --- 12 0.28
## 9 --- 12 0.29
## 10 --- 12 0.26
## 11 --- 12 0.27
## 1 --- 13 0.45
## 2 --- 13 0.26
## 3 --- 13 0.18
## 4 --- 13 0.21
## 5 --- 13 0.14
## 6 --- 13 0.24
## 7 --- 13 0.56
## 8 --- 13 0.22
## 9 --- 13 0.24
## 10 --- 13 0.18
## 11 --- 13 0.22
## 12 --- 13 0.27
## 1 --- 14 0.15
## 2 --- 14 0.39
## 3 --- 14 0.21
## 4 --- 14 0.28
## 5 --- 14 0.22
## 6 --- 14 0.23
## 7 --- 14 0.19
## 8 --- 14 0.66
## 9 --- 14 0.27
## 10 --- 14 0.28
## 11 --- 14 0.22
## 12 --- 14 0.28
## 13 --- 14 0.25
## 1 --- 15 0.13
## 2 --- 15 0.27
## 3 --- 15 0.52
## 4 --- 15 0.34
## 5 --- 15 0.27
## 6 --- 15 0.24
## 7 --- 15 0.18
## 8 --- 15 0.29
## 9 --- 15 0.58
## 10 --- 15 0.29
## 11 --- 15 0.29
## 12 --- 15 0.26
## 13 --- 15 0.25
## 14 --- 15 0.3
## 1 --- 16 0.1
## 2 --- 16 0.21
## 3 --- 16 0.21
## 4 --- 16 0.33
## 5 --- 16 0.23
## 6 --- 16 0.22
## 7 --- 16 0.14
## 8 --- 16 0.24
## 9 --- 16 0.26
## 10 --- 16 0.44
## 11 --- 16 0.21
## 12 --- 16 0.26
## 13 --- 16 0.19
## 14 --- 16 0.24
## 15 --- 16 0.31
## 1 --- 17 0.1
## 2 --- 17 0.22
## 3 --- 17 0.22
## 4 --- 17 0.24
## 5 --- 17 0.42
## 6 --- 17 0.21
## 7 --- 17 0.13
## 8 --- 17 0.3
## 9 --- 17 0.26
## 10 --- 17 0.27
## 11 --- 17 0.4
## 12 --- 17 0.26
## 13 --- 17 0.18
## 14 --- 17 0.31
## 15 --- 17 0.32
## 16 --- 17 0.3
## 1 --- 18 0.16
## 2 --- 18 0.31
## 3 --- 18 0.24
## 4 --- 18 0.28
## 5 --- 18 0.24
## 6 --- 18 0.57
## 7 --- 18 0.19
## 8 --- 18 0.28
## 9 --- 18 0.3
## 10 --- 18 0.29
## 11 --- 18 0.24
## 12 --- 18 0.71
## 13 --- 18 0.27
## 14 --- 18 0.29
## 15 --- 18 0.29
## 16 --- 18 0.32
## 17 --- 18 0.31
cor_gender <- networktree(nodevars=workaholic[,OCD_vars],
splitvars=workaholic[,"Gender",drop=FALSE])
plot(cor_gender)
data("FXRatesCHF", package = "fxregime")
currencies <- c("USD", "JPY", "DUR", "CNY", "INR", "GBP", "ZAR")
returns <- fxregime::fxreturns(currencies, data = FXRatesCHF)
returns <- na.omit(returns)
returns$year <- as.POSIXlt(zoo::index(returns))$year
returns$is_leap <- (returns$year %% 4) == 0
returns$yday <- as.POSIXlt(zoo::index(returns))$yday
returns$time <- 1900 + returns$year + returns$yday / ifelse(returns$is_leap, 366, 365)
returns$foo <- rnorm(nrow(returns))
f <- paste(paste(currencies, collapse = " + "), "~ time + foo")
f <- as.formula(f)
f
## USD + JPY + DUR + CNY + INR + GBP + ZAR ~ time + foo
tr <- networktree(f, data = returns, model = "correlation", maxdepth = 3)
print(tr, digits = 2)
## Network tree object
##
## Model formula:
## USD + JPY + DUR + CNY + INR + GBP + ZAR ~ time + foo
##
## Fitted party:
## [1] root
## | [2] time <= 1994.26575
## | | [3] time <= 1989.93425
## | | [4] time > 1989.93425
## | [5] time > 1994.26575
## | | [6] time <= 2005.53425
## | | [7] time > 2005.53425
##
## Number of inner nodes: 3
## Number of terminal nodes: 4
## Number of parameters per node: 21
## Objective function: 14073.5
plot(tr, transform = "pcor", posCol = "#008585",
negCol = "#C7522B", maximum = 1)
