Что означает «Ошибка в if (target < min(modVar)) {: условие имеет длину > 1» в анализе LOSEM с использованием OpenMX под R?

Я хочу провести анализ близнецов LOSEM с использованием OpenMX под управлением R. (Он используется в поведенческой генетике и исследованиях близнецов для изучения влияния генетики и окружающей среды на черты и поведение).

Мои переменные: a.res. и b.res(зависимые переменные [стандартизованные]),z_age (возраст [стандартизованные]), zygof1f2 (зиготность,MZ означает монозиготный = 1, DZ означает дизиготный = 2)

Мой код:

      \#Select dependent variables.
selDVs = c("a.res.", "b.res.")

\#Select moderator
moderator = "z_age"

\#Subset MZ and DZ data
mzData =subset(DS_HA, zygof1f2 =="MZ",c(selDVs, moderator))
dzData =subset(DS_HA, zygof1f2 =="DZ",c(selDVs, moderator))

\#Define LOSEM increments
targets = seq(from = -1.0, to = 2.0, by =.01)

\#Run and plot for specified windows
output\<-umxGxE_window(selDVs = selDVs, moderator = moderator, mzData = mzData, dzData = dzData, target = targets)

После выполнения последней команды выдается следующая ошибка:

Ошибка в if (target < min(modVar)) {: длина условия > 1

Я не понимаю ошибку и как ее решить.

1 ответ

Это ошибка в функции. Вам следует сообщить об этом автору.

Страница помощи дляumxGxE_windowговорит, что это может быть «Выбранный пользователем список значений модератора для проверки (по умолчанию = NULL = изучить весь диапазон)», поэтому вы используетеtargets <- seq(from = -1.0, to = 2.0, by =.01)должно быть в порядке. Но функция имеет тест в сообщении об ошибке, что недопустимо, когдаtargetэто вектор типаtargets.

Обходной путь может заключаться в том, чтобы поместить все в цикл и передавать по одной цели за раз, но это будет очень хлопотно и может не дать желаемого результата.

Другие вопросы по тегам