У меня есть «тестовый» фрейм данных с 3 компаниями (переменная ciknum) и годами, в которые каждая компания подавала годовые отчеты (fyearq):
ciknum fyearq
1 1408356 2012
2 1557255 2012
3 1557255 2013
4 1557255 2014
5 1557255 2015
6 1557255 2016
7 1555538 2013
8 1555538 2014
9 1555538 2015
10 1555538 2016
После получения папки MasterIndex и запуска кода это (см. предлагаемое решение) я использую пакет Redgar для получения 10-тысячных файлов. Я запускаю следующий код:
for (i in 1:nrow(test)){
firm<-test[i,"ciknum"] #edit: seems like mistake can be here since new firm data only contains 1 obs of 1 variable
year<-test[i,"fyearq"] #edit: seems like mistake can be here since new year data only contains 1 obs of 1 variable
my_getFilings(firm,'10-K',year,downl.permit = "y")
}
И продолжает выдавать следующую ошибку: Error: Input year(s) is not numeric
. Я проверил тип переменной, и кажется, что моя переменная fyearq является числовой.
sapply(test,class)
ciknum fyearq
"numeric" "numeric"
Не очень понимаю, почему "числовая" переменная fyearq не читается как таковая функцией my_getFilings. Любая помощь приветствуется.
Заранее спасибо.
Мартинс Кажется, порядок здесь имеет значение. Я решил эту проблему, используя дескриптор из функции, так что
my_getFilings(firm,'10-K',year,downl.permit = "y")
как вы написали так и написано
my_getFilings(cik.no = firm, form.def = '10-K', filing.year = 2016, downl.permit = "y")
Спасибо @bartosz25 и M Grace,
Я, наконец, заставил его работать с помощью следующего кода:
for (row in 1:nrow(test)){
firm <- as.numeric(test[row, "ciknum"])
year <- as.numeric(test[row, "fyearq"])
my_getFilings(firm, c('10-K'), year, downl.permit = "y")
}
Извиняюсь, что не выложил раньше.