У меня есть датафрейм под названием «samples», который выглядит так:
sample gender disease treatment
sample1 F d starved
sample2 F c fed
sample3 M d starved
sample4 M d fed
sample5 M d starved
sample6 M c fed
etc
Мне нужно импортировать это в скрипт, а затем в revvel () столбцы «пол», «болезнь» и «лечение».
Теперь важно, что я строю конвейер, который должен быть как можно более общим - имена столбцов в «выборках» не всегда могут быть одинаковыми, за исключением первого столбца, который всегда будет называться «выборкой». ».
Таким образом, цель в том, чтобы мой скрипт R импортировал файл конфигурации (YAML), который привел бы к data.frame, который выглядел бы примерно так и назывался бы «факторами»:
gender disease treatment
F control fed
Теперь, как я могу пройтись по этим «факторам», чтобы заставить его перебрасывать соответствующий столбец в «сэмплах» - обратите внимание, как я убедился, что имена столбцов совпадают между двумя фреймами данных . Я пробовал это до сих пор, но это не работает:
for (i in names(factors)){
samples[[i]] <- relevel(samples[[i]], factors[[i]])
}
Я получаю сообщение об ошибке:
Error in if (ref < 1 || ref > nlev) stop(gettextf("ref = %d must be in 1L:%d", :
missing value where TRUE/FALSE needed
In addition: Warning messages:
1: In Ops.factor(ref, 1) : ‘<’ not meaningful for factors
2: In Ops.factor(ref, nlev) : ‘>’ not meaningful for factors