У меня 198 уникальных наборов данных, все переменные в каждом наборе данных идентичны. Я хочу провести один и тот же анализ (см. Ниже) для каждого набора данных. Из каждого проведенного анализа я хочу извлечь коэффициенты из результата модели и сохранить их в одной таблице. Для этого я написал следующий код:
one_table <- data.frame() #dataframe I will use to store results in later
for(i in 1:198){
load(file = paste("Dataset_",i,".RData",sep = "")) #loads a dataset
Dataset = get(paste0("Dataset_", i)) #renames the loaded Dataset_i to Dataset, important for model below
model_result = try(summary(lme(A ~ B + C + B*C + D + E, random = ~1|company,na.action=na.omit,
control=lmeControl(opt='optim'),method='REML',
data=Dataset,correlation = corAR1())),silent=TRUE) #model
coefficients = coef(model_result) #extracts coefficients from model results
coefficients_df <- as.data.frame(coefficients) #puts coefficients into a table
one_table <- rbind(one_table, coefficients_df) #updates table with each iteration of i
Теперь код работает до набора данных № 96, в котором я получаю следующую ошибку: $ operator is invalid for atomic vectors.
Я не совсем уверен, как продолжить, к чему относится эта ошибка?
Редактировать: Я думаю, что нашел проблему. Модель не работает на наборе данных № 97, я получаю следующую ошибку, которая относится к B *C
[1] "Error in logLik.reStruct(object, conLin) : \n NA/NaN/Inf in foreign function call (arg 3)\n"
attr(,"class")
[1] "try-error"
attr(,"condition")
<simpleError in logLik.reStruct(object, conLin): NA/NaN/Inf in foreign function call (arg 3)>