>

R 패키지 edgar 를 사용하여 10K 보고서에서 여러 회사의 비즈니스 설명을 추출하려고합니다. . 나는 getBusinDescr 를 사용하고 있습니다  그렇게하는 기능.

많은 회사 (1000+)에 대한 비즈니스 설명을 원하므로 회사의 cik 식별자로 구성된 벡터를 작성하고 R을 사용하여 벡터를 사용하여 1000+ 회사에 대한 설명을 다운로드 할 수 있습니다. 문제는 R이 관심있는 섹션을 추출하지 못하는 동안 원하는 필 (10-K 보고서)을 완벽하게 다운로드한다는 것입니다. 2007 년에는 61 %, 2011 년에는 31 %로 중단되었습니다. 그러나 2010 년에는 추출은 100 % 효과가있었습니다.

요약하면, 추출은 특정 기간 동안 작동하지만 다른 기간에는 작동하지 않습니다. 이 오류가 어디서 발생했는지 궁금합니다. 데이터 가용성 (즉, 특정 회사에 몇 년 동안 비즈니스 설명이없는 경우) 또는 반복적 인 스크래핑 시도로 인한 자연 오류로 인한 것이라고 생각하십니까? 오류를 해석하고 잘 처리하도록 도와주세요.

그냥 Mac에서 최신 R을 사용하고 있습니다.

사용하는 코드는 다음과 같습니다.

# using edgar package on R
library(edgar)
# cikvector is a vector of multiple firms' identifier codes
# for year 2007
- filings.BusinDes.2007 <- getBusinDescr( cik.no=cikvector, filing.year=2007)
# for year 2008
filings.BusinDes.2008 <- getBusinDescr( cik.no=cikvector, filing.year=2008)

이상적인 결과는 다음과 같습니다 :

Downloading fillings. Please wait...              
100%
Extracting 'Item 1' section...
100%
Business descriptions are stored in 'Business descriptions text' directory.

내가 겪는 오류는 다음과 같습니다 (전체 보고서 다운로드는 아무 문제없이 수행됩니다) :

Downloading fillings. Please wait...     
100%
Extracting 'Item 1' section...                                                                                                             
**|  31%Error in (grep("<DOCUMENT>", filing.text, ignore.case = TRUE)[1]):    (grep("</DOCUMENT>",  : 
NA/NaN argument**

  • 답변 # 1

    동일한 오류가 발생했지만 함수 코드에서 문제가있는 줄을 '주석 처리'하면 문제가 해결 된 것으로 나타났습니다.

    따라서 Edgar 패키지에서 'getBusinDescr'함수를 편집해야합니다. R-Studio에서이를 수행하는 쉬운 방법 중 하나는 다음을 실행하는 것입니다.

    fix(getBusinDescr)
    
    

    다음, 다음 줄을 찾아야합니다 :

       filing.text <- filing.text[(grep("<DOCUMENT>", filing.text, 
                                     ignore.case = TRUE)[1]):(grep("</DOCUMENT>", filing.text, 
                                                                   ignore.case = TRUE)[1])]
    
    

    각 줄의 시작 부분에 #을 추가하여 함수에서 제거하십시오 (예 : 주석 처리). 그런 다음 함수를 실행할 때 제대로 작동합니다.

    이 문제는 몇 주 정도 전에 시작되었으며 정확히 동일한 기본 데이터를 사용하기 전에 완벽하게 실행되었다고 확신합니다. 왜 이런 일이 일어 났는지에 대한 최선의 추측은 SEC가 아마도 HTML 코드를 약간 변경하여 ""태그가 일부 원시 파일에 나타나지 않는다는 것입니다. 나는이 이론을 시험해 보려고하지 않았지만 말이된다.

  • 이전 Whether rtlib - rtlib 여부 - lotus notes 리치 텍스트 라이브러리는 ibm domino server 64 비트를 지원합니다
  • 다음 random - JavaScript에서 UUID를 생성 할 때 충돌이 발생합니까?