0

Ran following: library(finstr) inst<- "http://edgar.sec.gov/Archives/edgar/data/320193/000119312514383437/aapl-20140927.xml"

xbrl.vars<- xbrlDoAll(inst, verbose=TRUE)

st2013<-xbrl_get_statements(xbrl.vars)

Recevied following error

Error: cannot join on columns 'elementId' x 'elementId': Can't join on 'elementId' x 'elementId' because of incompatible types (factor / integer) In addition: Warning message: In semi_join_impl(x, y, by$x, by$y) : joining factors with different levels, coercing to character vector

lpt
  • 931
  • 16
  • 35
  • This was the solution For now use options(stringsAsFactors = FALSE) before calling xbrDoAll. It is recommended in XBRL package (see ?xbrlDoAll) so finstr::xbrl_get_statements expects data frames without factors. Example: library(finstr) inst<- "http://edgar.sec.gov/Archives/edgar/data/320193/000119312514383437/aapl-20140927.xml" old_o <- options(stringsAsFactors = FALSE) xbrl.vars<- xbrlDoAll(inst, verbose=TRUE) options(old_o) st2013<-xbrl_get_statements(xbrl.vars) – lpt Jul 15 '15 at 19:06

1 Answers1

0

answer from Darko Bergant

For now use options(stringsAsFactors = FALSE) before calling xbrDoAll. It is recommended in XBRL package (see ?xbrlDoAll) so finstr::xbrl_get_statements expects data frames without factors.

Example:

library(finstr) inst<- "http://edgar.sec.gov/Archives/edgar/data/320193/000119312514383437/aapl-20140927.xml"

old_o <- options(stringsAsFactors = FALSE) xbrl.vars<- xbrlDoAll(inst, verbose=TRUE) options(old_o)

st2013<-xbrl_get_statements(xbrl.vars)

lpt
  • 931
  • 16
  • 35