Skip to content

Commit 9674d45

Browse files
Refactor data preparation in variance components vignette
Streamlined and clarified the data preparation steps for the twin modeling example in v1_modelingvariancecomponents.Rmd. Moved and consolidated code blocks for loading and filtering data, and ensured consistent use of dplyr. Updated the corresponding HTML output.
1 parent e47ddc3 commit 9674d45

2 files changed

Lines changed: 31 additions & 35 deletions

File tree

vignettes/v1_modelingvariancecomponents.Rmd

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ As you can see the model is identified, now that we've added another group. Let
102102
if (!requireNamespace("OpenMx", quietly = TRUE)) {
103103
# if OpenMx isn't available
104104
n_subjects <- 500
105+
require(dplyr)
105106
106107
df_summary_data <- data.frame(
107108
age_mean = 34.45,
@@ -121,30 +122,15 @@ if (!requireNamespace("OpenMx", quietly = TRUE)) {
121122
twinData$ht2[twinData$zyg == 3] <- twinData$ht2[twinData$zyg == 3] + .5*rnorm(sum(twinData$zyg == 3), mean = df_summary_data$ht2_mean, sd = df_summary_data$ht2_sd)
122123
123124
} else {
125+
124126
data(twinData, package = "OpenMx")
125-
126-
require(dplyr)
127-
# require(purrr)
128-
129-
selVars <- c("ht1", "ht2")
130-
131-
mzdzData <- subset(
132-
twinData, zyg %in% c(1, 3),
133-
c(selVars, "zyg")
134-
)
135-
136-
mzdzData$RCoef <- c(1, NA, .5)[mzdzData$zyg]
137-
138-
139-
mzData <- mzdzData %>% filter(zyg == 1)
140127
}
141-
```
142128
129+
```
143130

144-
```r
131+
```{r}
145132
require(dplyr)
146133
147-
data(twinData, package = "OpenMx")
148134
149135
selVars <- c("ht1", "ht2")
150136
@@ -157,8 +143,10 @@ mzdzData$RCoef <- c(1, NA, .5)[mzdzData$zyg]
157143
158144
159145
mzData <- mzdzData %>% filter(zyg == 1)
146+
160147
```
161148

149+
162150
Let us fit the data with MZ twins by themselves.
163151

164152
```{r}

vignettes/v1_modelingvariancecomponents.html

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -422,20 +422,28 @@ <h2>Using <code>identifyComponentModel</code> Function</h2>
422422
<p>As you can see the model is identified, now that we’ve added another
423423
group. Let us confirm by fitting a model. First we prepare the data.</p>
424424
<div class="sourceCode" id="cb5"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb5-1"><a href="#cb5-1" tabindex="-1"></a><span class="fu">require</span>(dplyr)</span>
425-
<span id="cb5-2"><a href="#cb5-2" tabindex="-1"></a></span>
426-
<span id="cb5-3"><a href="#cb5-3" tabindex="-1"></a><span class="fu">data</span>(twinData, <span class="at">package =</span> <span class="st">&quot;OpenMx&quot;</span>)</span>
427-
<span id="cb5-4"><a href="#cb5-4" tabindex="-1"></a></span>
428-
<span id="cb5-5"><a href="#cb5-5" tabindex="-1"></a>selVars <span class="ot">&lt;-</span> <span class="fu">c</span>(<span class="st">&quot;ht1&quot;</span>, <span class="st">&quot;ht2&quot;</span>)</span>
429-
<span id="cb5-6"><a href="#cb5-6" tabindex="-1"></a></span>
430-
<span id="cb5-7"><a href="#cb5-7" tabindex="-1"></a>mzdzData <span class="ot">&lt;-</span> <span class="fu">subset</span>(</span>
431-
<span id="cb5-8"><a href="#cb5-8" tabindex="-1"></a> twinData, zyg <span class="sc">%in%</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">3</span>),</span>
432-
<span id="cb5-9"><a href="#cb5-9" tabindex="-1"></a> <span class="fu">c</span>(selVars, <span class="st">&quot;zyg&quot;</span>)</span>
433-
<span id="cb5-10"><a href="#cb5-10" tabindex="-1"></a>)</span>
434-
<span id="cb5-11"><a href="#cb5-11" tabindex="-1"></a></span>
435-
<span id="cb5-12"><a href="#cb5-12" tabindex="-1"></a>mzdzData<span class="sc">$</span>RCoef <span class="ot">&lt;-</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="cn">NA</span>, .<span class="dv">5</span>)[mzdzData<span class="sc">$</span>zyg]</span>
436-
<span id="cb5-13"><a href="#cb5-13" tabindex="-1"></a></span>
425+
<span id="cb5-2"><a href="#cb5-2" tabindex="-1"></a><span class="co">#&gt; Loading required package: dplyr</span></span>
426+
<span id="cb5-3"><a href="#cb5-3" tabindex="-1"></a><span class="co">#&gt; </span></span>
427+
<span id="cb5-4"><a href="#cb5-4" tabindex="-1"></a><span class="co">#&gt; Attaching package: &#39;dplyr&#39;</span></span>
428+
<span id="cb5-5"><a href="#cb5-5" tabindex="-1"></a><span class="co">#&gt; The following objects are masked from &#39;package:stats&#39;:</span></span>
429+
<span id="cb5-6"><a href="#cb5-6" tabindex="-1"></a><span class="co">#&gt; </span></span>
430+
<span id="cb5-7"><a href="#cb5-7" tabindex="-1"></a><span class="co">#&gt; filter, lag</span></span>
431+
<span id="cb5-8"><a href="#cb5-8" tabindex="-1"></a><span class="co">#&gt; The following objects are masked from &#39;package:base&#39;:</span></span>
432+
<span id="cb5-9"><a href="#cb5-9" tabindex="-1"></a><span class="co">#&gt; </span></span>
433+
<span id="cb5-10"><a href="#cb5-10" tabindex="-1"></a><span class="co">#&gt; intersect, setdiff, setequal, union</span></span>
434+
<span id="cb5-11"><a href="#cb5-11" tabindex="-1"></a><span class="co"># require(purrr)</span></span>
435+
<span id="cb5-12"><a href="#cb5-12" tabindex="-1"></a></span>
436+
<span id="cb5-13"><a href="#cb5-13" tabindex="-1"></a>selVars <span class="ot">&lt;-</span> <span class="fu">c</span>(<span class="st">&quot;ht1&quot;</span>, <span class="st">&quot;ht2&quot;</span>)</span>
437437
<span id="cb5-14"><a href="#cb5-14" tabindex="-1"></a></span>
438-
<span id="cb5-15"><a href="#cb5-15" tabindex="-1"></a>mzData <span class="ot">&lt;-</span> mzdzData <span class="sc">%&gt;%</span> <span class="fu">filter</span>(zyg <span class="sc">==</span> <span class="dv">1</span>)</span></code></pre></div>
438+
<span id="cb5-15"><a href="#cb5-15" tabindex="-1"></a>mzdzData <span class="ot">&lt;-</span> <span class="fu">subset</span>(</span>
439+
<span id="cb5-16"><a href="#cb5-16" tabindex="-1"></a> twinData, zyg <span class="sc">%in%</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">3</span>),</span>
440+
<span id="cb5-17"><a href="#cb5-17" tabindex="-1"></a> <span class="fu">c</span>(selVars, <span class="st">&quot;zyg&quot;</span>)</span>
441+
<span id="cb5-18"><a href="#cb5-18" tabindex="-1"></a>)</span>
442+
<span id="cb5-19"><a href="#cb5-19" tabindex="-1"></a></span>
443+
<span id="cb5-20"><a href="#cb5-20" tabindex="-1"></a>mzdzData<span class="sc">$</span>RCoef <span class="ot">&lt;-</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="cn">NA</span>, .<span class="dv">5</span>)[mzdzData<span class="sc">$</span>zyg]</span>
444+
<span id="cb5-21"><a href="#cb5-21" tabindex="-1"></a></span>
445+
<span id="cb5-22"><a href="#cb5-22" tabindex="-1"></a></span>
446+
<span id="cb5-23"><a href="#cb5-23" tabindex="-1"></a>mzData <span class="ot">&lt;-</span> mzdzData <span class="sc">%&gt;%</span> <span class="fu">filter</span>(zyg <span class="sc">==</span> <span class="dv">1</span>)</span></code></pre></div>
439447
<p>Let us fit the data with MZ twins by themselves.</p>
440448
<div class="sourceCode" id="cb6"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb6-1"><a href="#cb6-1" tabindex="-1"></a><span class="cf">if</span> (<span class="sc">!</span><span class="fu">requireNamespace</span>(<span class="st">&quot;EasyMx&quot;</span>, <span class="at">quietly =</span> <span class="cn">TRUE</span>)) {</span>
441449
<span id="cb6-2"><a href="#cb6-2" tabindex="-1"></a> <span class="fu">print</span>(<span class="st">&quot;Please install EasyMx to run the model fitting examples.&quot;</span>)</span>
@@ -472,8 +480,8 @@ <h2>Using <code>identifyComponentModel</code> Function</h2>
472480
<span id="cb6-33"><a href="#cb6-33" tabindex="-1"></a><span class="co">#&gt; AIC: -5917.148 -3685.148 -3685.078</span></span>
473481
<span id="cb6-34"><a href="#cb6-34" tabindex="-1"></a><span class="co">#&gt; BIC: -10747.543 -3667.773 -3680.471</span></span>
474482
<span id="cb6-35"><a href="#cb6-35" tabindex="-1"></a><span class="co">#&gt; To get additional fit indices, see help(mxRefModels)</span></span>
475-
<span id="cb6-36"><a href="#cb6-36" tabindex="-1"></a><span class="co">#&gt; timestamp: 2026-01-07 10:10:05 </span></span>
476-
<span id="cb6-37"><a href="#cb6-37" tabindex="-1"></a><span class="co">#&gt; Wall clock time: 0.05492997 secs </span></span>
483+
<span id="cb6-36"><a href="#cb6-36" tabindex="-1"></a><span class="co">#&gt; timestamp: 2026-01-07 10:29:53 </span></span>
484+
<span id="cb6-37"><a href="#cb6-37" tabindex="-1"></a><span class="co">#&gt; Wall clock time: 0.05330706 secs </span></span>
477485
<span id="cb6-38"><a href="#cb6-38" tabindex="-1"></a><span class="co">#&gt; optimizer: SLSQP </span></span>
478486
<span id="cb6-39"><a href="#cb6-39" tabindex="-1"></a><span class="co">#&gt; OpenMx version number: 2.22.10 </span></span>
479487
<span id="cb6-40"><a href="#cb6-40" tabindex="-1"></a><span class="co">#&gt; Need help? See help(mxSummary)</span></span></code></pre></div>
@@ -515,8 +523,8 @@ <h2>Using <code>identifyComponentModel</code> Function</h2>
515523
<span id="cb7-33"><a href="#cb7-33" tabindex="-1"></a><span class="co">#&gt; AIC: -9113.092 -5499.092 -5499.048</span></span>
516524
<span id="cb7-34"><a href="#cb7-34" tabindex="-1"></a><span class="co">#&gt; BIC: -17811.437 -5479.794 -5492.498</span></span>
517525
<span id="cb7-35"><a href="#cb7-35" tabindex="-1"></a><span class="co">#&gt; To get additional fit indices, see help(mxRefModels)</span></span>
518-
<span id="cb7-36"><a href="#cb7-36" tabindex="-1"></a><span class="co">#&gt; timestamp: 2026-01-07 10:10:05 </span></span>
519-
<span id="cb7-37"><a href="#cb7-37" tabindex="-1"></a><span class="co">#&gt; Wall clock time: 0.04846501 secs </span></span>
526+
<span id="cb7-36"><a href="#cb7-36" tabindex="-1"></a><span class="co">#&gt; timestamp: 2026-01-07 10:29:53 </span></span>
527+
<span id="cb7-37"><a href="#cb7-37" tabindex="-1"></a><span class="co">#&gt; Wall clock time: 0.05561519 secs </span></span>
520528
<span id="cb7-38"><a href="#cb7-38" tabindex="-1"></a><span class="co">#&gt; optimizer: SLSQP </span></span>
521529
<span id="cb7-39"><a href="#cb7-39" tabindex="-1"></a><span class="co">#&gt; OpenMx version number: 2.22.10 </span></span>
522530
<span id="cb7-40"><a href="#cb7-40" tabindex="-1"></a><span class="co">#&gt; Need help? See help(mxSummary)</span></span></code></pre></div>

0 commit comments

Comments
 (0)