Составление нескольких функций TSLM автоматически с "для Cicle" - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть 30 наборов данных для анализа. Это результаты продаж компании, по одному на каждого клиента. У меня есть 7 различных переменных, и я должен проверить, какая комбинация этих переменных дает лучшую модель TSLM для каждого клиента. Так как я не хочу подбирать каждую модель вручную ... это займет много времени, я попробовал следующим образом: 1) Я создал список со всеми переменными

var2<-c(season, trend, Pasqua, Natale, Business, Ricarico, Fermo)

2) нашел все комбинации переменных с функцией combn и созданными различными массивами для каждой "длины" (комбинации с 2,3,4,5,6,7 переменными за раз). Я покажу только пример с комбинациями 2.

c1c2<-combn(var2,2)

### i have this
> c1c2
     [,1]     [,2]     [,3]     [,4]     [,5]       [,6]       [,7]     [,8]    
[1,] "season" "season" "season" "season" "season"   "season"   "trend"  "trend" 
[2,] "trend"  "Pasqua" "Natale" "Fermo"  "Business" "Ricarico" "Pasqua" "Natale"
     [,9]    [,10]      [,11]      [,12]    [,13]    [,14]      [,15]      [,16]   
[1,] "trend" "trend"    "trend"    "Pasqua" "Pasqua" "Pasqua"   "Pasqua"   "Natale"
[2,] "Fermo" "Business" "Ricarico" "Natale" "Fermo"  "Business" "Ricarico" "Fermo" 
     [,17]      [,18]      [,19]      [,20]      [,21]     
[1,] "Natale"   "Natale"   "Fermo"    "Fermo"    "Business"
[2,] "Business" "Ricarico" "Business" "Ricarico" "Ricarico"

3) настроить для цикла

for (i in seq(1:21)){
    c1c2_[i]<-tslm(Fatturato ~ c1c2[1,i]+c1c2[2,i], data=c1ts)
}

Но я получаю эту ошибку

Error in model.frame.default(formula = formula, data = data, na.action = na.exclude,  : 
  variable lengths differ (found for 'c1c2[1, i]')

Я просто не могу понять, где ошибка, так как если я пишу только (например) c1c2[1,1], я получаю [1] «сезон», что правильно. Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...