Я пытаюсь создать цикл, который будет выполнять серию анализов.Я использую geeglm из geepack, который не работает, если есть какие-либо нулевые значения.Создание подмножества решает эту проблему, но, похоже, невозможно установить подмножество динамически на основе изменяющейся переменной.
while (j <= y.num) {
strSubset = as.character(df.IV$IV[j]) #Gives column name in quotes
df.data.sub = subset(df.data, strSubset>=0)
#subset dataset is not created
# analyses on subset take place
j = j + 1
}
Если я вписываю имя переменной в формулу, она работает, поэтому я предполагаю, что я не создаю переменную таким образом, чтобы она могла быть оценена в функции подмножества.Любая помощь будет принята с благодарностью!
Воспроизводимый пример:
# dataset
age<-18:29
height<-58:69
df.ex=data.frame(age=age,height=height)
df.ex[4,1]<-NA
# dataset of columns that will be used for analysis
values<-c("age", "height")
df.variables=data.frame(values)
# Age column has a null (NA) value. The row must be removed for the analysis to run
# explicit creation
df.ex.sub.explicit<-subset(df.ex, age >= 0)
dim(df.ex.sub.explicit) #11 obs of 2 variables
i=1
strFilter=as.character(df.variables$values[i])
df.ex.sub.passvar<-subset(df.ex,strFilter>=0)
dim(df.ex.sub.explicit) #12 obs of 2 variables