[R] Error in mice package when trying to use subset of variables for imputation model
Ian McPhail
|vmcph@|| @end|ng |rom gm@||@com
Tue Jul 21 17:08:36 CEST 2020
Hello,
I am attempting to create a multiple imputation model using the mice
package in R. Here are some details about what I am specifically trying to
do, and below is a subset of the data I am working with, the code I have
tried, and the error that I am getting.
In the dataset, labelled 'mturk.all', there are ~300 variables and around
1300 cases. For the multiple imputation model, I am trying to use only 33
of the ~300 variables; these 33 variables are dichotomous (coded as 0 and 1
in the dataset).
Following the mice code provided at
https://stefvanbuuren.name/fimd/sec-toomany.html (see section 9.1.6 on the
linked website), I have tried the following code, which resulted in an
error (also shown below):
```
>library(mice)
>pred <- quickpred(mturk.all, mincor = .1, minpuc = 0, inc=c("TSHS_1R",
"TSHS_2R", "TSHS_3R", "TSHS_4R", "TSHS_5R", "TSHS_6R", "TSHS_7R",
"TSHS_8R", "TSHS_9R", "TSHS_10R", "TSHS_11R", "TSHS_12R", "TSHS_13R",
"TSHS_14R", "TSHS_15R", "TSHS_16R", "TSHS_17R", "TSHS_18R", "TSHS_19R",
"TSHS_20R", "TSHS_21R", "TSHS_22R", "TSHS_23R", "TSHS_24R", "TSHS_25R",
"TSHS_26R", "TSHS_27R", "TSHS_28R", "TSHS_29R", "TSHS_30R", "TSHS_31R",
"TSHS_32R", "TSHS_33R"))
There were 14 warnings (use warnings() to see them)
> warnings()
Warning messages:
1: In data.matrix(data) : NAs introduced by coercion
2: In data.matrix(data) : NAs introduced by coercion
3: In data.matrix(data) : NAs introduced by coercion
4: In data.matrix(data) : NAs introduced by coercion
5: In data.matrix(data) : NAs introduced by coercion
6: In data.matrix(data) : NAs introduced by coercion
7: In data.matrix(data) : NAs introduced by coercion
8: In data.matrix(data) : NAs introduced by coercion
9: In data.matrix(data) : NAs introduced by coercion
10: In data.matrix(data) : NAs introduced by coercion
11: In data.matrix(data) : NAs introduced by coercion
12: In data.matrix(data) : NAs introduced by coercion
13: In data.matrix(data) : NAs introduced by coercion
14: In data.matrix(data) : NAs introduced by coercion
>mturk.all.imp <- mice(mturk.all, m = 40, method = 'logreg', pred = pred)
Error in parse(text = x, keep.source = FALSE) :
<text>:1:1: unexpected '<'
1: <
^
```
Alternatively, I tried the following:
```
>inlist <- mturk.all[c("TSHS_1R", "TSHS_2R", "TSHS_3R", "TSHS_4R",
"TSHS_5R", "TSHS_6R", "TSHS_7R", "TSHS_8R", "TSHS_9R", "TSHS_10R",
"TSHS_11R", "TSHS_12R", "TSHS_13R", "TSHS_14R", "TSHS_15R", "TSHS_16R",
"TSHS_17R", "TSHS_18R", "TSHS_19R", "TSHS_20R", "TSHS_21R", "TSHS_22R",
"TSHS_23R", "TSHS_24R", "TSHS_25R", "TSHS_26R", "TSHS_27R", "TSHS_28R",
"TSHS_29R", "TSHS_30R", "TSHS_31R", "TSHS_32R", "TSHS_33R")]
>pred <- quickpred(mturk.all, mincor = .1, minpuc = 0, inc=inlist)
>mturk.all.imp <- mice(mturk.all, m = 40, method = 'logreg', pred = pred)
Error in parse(text = x, keep.source = FALSE) :
<text>:1:1: unexpected '<'
1: <
^
```
I have also switched out the 'logreg' imputation method with 'pmm' and
received the same error message.
Here is a subset of the dataset, mturk.all, and the version of R Studio I
am using, plus the version of mice I am using.
```
> dput(mturk.all[425:434, 1:33])
structure(list(TSHS_1R = c(0, 1, 1, 0, 0, 0, 1, 1, 0, 1), TSHS_2R = c(0,
0, 0, 1, 0, 0, 0, 0, 0, 0), TSHS_3R = c(0, 1, 0, 0, 0, 0, 0,
0, 1, 0), TSHS_4R = c(0, 1, 0, 0, 0, 0, 1, 0, 1, 0), TSHS_5R = c(0,
0, 0, 1, 0, 0, 0, 0, 1, 0), TSHS_6R = c(0, 0, NA, NA, 0, 0, 1,
0, 0, 0), TSHS_7R = c(0, 0, 0, 1, 0, 1, 1, 0, 0, 0), TSHS_8R = c(1,
1, 0, 0, 1, 1, 1, 1, 0, 1), TSHS_9R = c(0, 0, 0, 0, 0, 0, 0,
1, 1, 0), TSHS_10R = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), TSHS_11R = c(0,
0, NA, 0, 0, 0, 0, 1, 0, 0), TSHS_12R = c(1, 0, 1, 0, 1, 0, 0,
0, 0, 0), TSHS_13R = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 1), TSHS_14R = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0), TSHS_15R = c(0, 0, 1, 0, 0, 0, 0,
0, 0, 0), TSHS_16R = c(0, 0, 1, 0, 0, 0, 0, 0, 0, 0), TSHS_17R = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0), TSHS_18R = c(0, 0, 0, 0, 1, 0, 0,
0, 0, 0), TSHS_19R = c(0, 0, 0, NA, 0, 0, 0, 0, 0, 0), TSHS_20R = c(0,
0, 0, 1, 0, 0, 0, 0, 0, 0), TSHS_21R = c(0, 0, 0, 0, 1, 0, 0,
0, 0, 0), TSHS_22R = c(0, 1, 0, 0, NA, 1, 0, 0, 0, 0), TSHS_23R = c(0,
0, 0, 0, NA, 1, 0, 0, 0, 1), TSHS_24R = c(0, 0, 0, 1, NA, 1,
0, 1, 1, 0), TSHS_25R = c(1, 1, 1, 0, 1, 1, 1, 1, 1, 1), TSHS_26R = c(1,
0, 1, 0, 0, 0, 0, 1, 0, 1), TSHS_27R = c(1, 0, 0, 1, 0, 1, 1,
0, 0, 1), TSHS_28R = c(0, 0, 0, 0, 0, 0, 0, 0, 1, 0), TSHS_29R = c(1,
0, 0, 0, 1, 0, 0, 0, 0, 0), TSHS_30R = c(0, 0, 0, 0, 0, 0, 0,
0, 0, 0), TSHS_31R = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), TSHS_32R = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0), TSHS_33R = c(0, 0, 0, 0, 0, 0, 0,
0, 0, 0)), row.names = c(NA, -10L), class = c("tbl_df", "tbl",
"data.frame"))
> rstudioapi::versionInfo()
$`citation`
To cite RStudio in publications use:
RStudio Team (2018). RStudio: Integrated Development for R. RStudio,
Inc., Boston, MA URL http://www.rstudio.com/.
A BibTeX entry for LaTeX users is
@Manual{,
title = {RStudio: Integrated Development Environment for R},
author = {{RStudio Team}},
organization = {RStudio, Inc.},
address = {Boston, MA},
year = {2018},
url = {http://www.rstudio.com/},
}
$`mode`
[1] "desktop"
$version
[1] ‘1.2.1335’
> packageVersion("mice")
[1] ‘3.8.0’
```
Any help identifying what I am doing wrong in the code would be appreciated!
Ian
--
Ian McPhail, M.A.
Clinical Psychology Graduate Student
Department of Psychology, University of Saskatchewan
[[alternative HTML version deleted]]
More information about the R-help
mailing list