I was previously (and still) having trouble navigating from a beginning link, in order to get to the next link to fill in a data request form and then extract the information from the resulting table. My coding attempt is here.
I have been informed that CDC Wonder does have an API in order to submit an XML request form within R. The link to all the details on how to submit a form is here.
However, I have no idea how to even send an XML request form using R and have tried searching around for solutions. If anyone can get me started based on the directions of the API, and one of the XML form examples that they have listed, then I think I can figure out the rest.
The code below shows my attempt using the first example XML request form:
request_xml <-
"<?xml version="1.0" encoding="UTF-8"?>
<request-parameters>
<parameter>
<name>accept_datause_restrictions</name>
<value>true</value>
</parameter>
<parameter>
<name>B_1</name>
<value>D76.V1-level1</value>
</parameter>
<parameter>
<name>B_2</name>
<value>D76.V8</value>
</parameter>
<parameter>
<name>B_3</name>
<value>*None*</value>
</parameter>
<parameter>
<name>B_4</name>
<value>*None*</value>
</parameter>
<parameter>
<name>B_5</name>
<value>*None*</value>
</parameter>
<parameter>
<name>F_D76.V1</name>
<value>2009</value>
<value>2010</value>
<value>2011</value>
<value>2012</value>
<value>2013</value>
</parameter>
<parameter>
<name>F_D76.V10</name>
<value>*All*</value>
</parameter>
<parameter>
<name>F_D76.V2</name>
<value>C00-D48</value>
</parameter>
<parameter>
<name>F_D76.V27</name>
<value>*All*</value>
</parameter>
<parameter>
<name>F_D76.V9</name>
<value>*All*</value>
</parameter>
<parameter>
<name>I_D76.V1</name>
<value>
2009 (2009) 2010 (2010) 2011 (2011) 2012 (2012) 2013 (2013)
</value>
</parameter>
<parameter>
<name>I_D76.V10</name>
<value>*All* (The United States)</value>
</parameter>
<parameter>
<name>I_D76.V2</name>
<value>C00-D48 (Neoplasms)</value>
</parameter>
<parameter>
<name>I_D76.V27</name>
<value>*All* (The United States)</value>
</parameter>
<parameter>
<name>I_D76.V9</name>
<value>*All* (The United States)</value>
</parameter>
<parameter>
<name>M_1</name>
<value>D76.M1</value>
</parameter>
<parameter>
<name>M_2</name>
<value>D76.M2</value>
</parameter>
<parameter>
<name>M_3</name>
<value>D76.M3</value>
</parameter>
<parameter>
<name>M_41</name>
<value>D76.M41</value>
</parameter>
<parameter>
<name>M_42</name>
<value>D76.M42</value>
</parameter>
<parameter>
<name>O_V10_fmode</name>
<value>freg</value>
</parameter>
<parameter>
<name>O_V1_fmode</name>
<value>freg</value>
</parameter>
<parameter>
<name>O_V27_fmode</name>
<value>freg</value>
</parameter>
<parameter>
<name>O_V2_fmode</name>
<value>freg</value>
</parameter>
<parameter>
<name>O_V9_fmode</name>
<value>freg</value>
</parameter>
<parameter>
<name>O_aar</name>
<value>aar_std</value>
</parameter>
<parameter>
<name>O_aar_pop</name>
<value>0000</value>
</parameter>
<parameter>
<name>O_age</name>
<value>D76.V5</value>
</parameter>
<parameter>
<name>O_javascript</name>
<value>on</value>
</parameter>
<parameter>
<name>O_location</name>
<value>D76.V9</value>
</parameter>
<parameter>
<name>O_precision</name>
<value>1</value>
</parameter>
<parameter>
<name>O_rate_per</name>
<value>100000</value>
</parameter>
<parameter>
<name>O_show_totals</name>
<value>true</value>
</parameter>
<parameter>
<name>O_timeout</name>
<value>300</value>
</parameter>
<parameter>
<name>O_title</name>
<value>Example1</value>
</parameter>
<parameter>
<name>O_ucd</name>
<value>D76.V2</value>
</parameter>
<parameter>
<name>O_urban</name>
<value>D76.V19</value>
</parameter>
<parameter>
<name>VM_D76.M6_D76.V10</name>
<value/>
</parameter>
<parameter>
<name>VM_D76.M6_D76.V17</name>
<value>*All*</value>
</parameter>
<parameter>
<name>VM_D76.M6_D76.V1_S</name>
<value>*All*</value>
</parameter>
<parameter>
<name>VM_D76.M6_D76.V7</name>
<value>*All*</value>
</parameter>
<parameter>
<name>VM_D76.M6_D76.V8</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V1</name>
<value/>
</parameter>
<parameter>
<name>V_D76.V10</name>
<value/>
</parameter>
<parameter>
<name>V_D76.V11</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V12</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V17</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V19</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V2</name>
<value/>
</parameter>
<parameter>
<name>V_D76.V20</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V21</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V22</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V23</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V24</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V25</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V27</name>
<value/>
</parameter>
<parameter>
<name>V_D76.V4</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V5</name>
<value>1</value>
<value>1-4</value>
<value>5-14</value>
<value>15-24</value>
<value>25-34</value>
<value>35-44</value>
<value>45-54</value>
<value>55-64</value>
<value>65-74</value>
<value>75-84</value>
<value>85+</value>
</parameter>
<parameter>
<name>V_D76.V51</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V52</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V6</name>
<value>00</value>
</parameter>
<parameter>
<name>V_D76.V7</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V8</name>
<value>*All*</value>
</parameter>
<parameter>
<name>V_D76.V9</name>
<value/>
</parameter>
<parameter>
<name>action-Send</name>
<value>Send</value>
</parameter>
<parameter>
<name>finder-stage-D76.V1</name>
<value>codeset</value>
</parameter>
<parameter>
<name>finder-stage-D76.V10</name>
<value>codeset</value>
</parameter>
<parameter>
<name>finder-stage-D76.V2</name>
<value>codeset</value>
</parameter>
<parameter>
<name>finder-stage-D76.V27</name>
<value>codeset</value>
</parameter>
<parameter>
<name>finder-stage-D76.V9</name>
<value>codeset</value>
</parameter>
<parameter>
<name>stage</name>
<value>request</value>
</parameter>
</request-parameters>"
library(RCurl)
url <- "http://wonder.cdc.gov/controller/datarequest/D76"
data <- getURL(
url = url,
postfields = request_xml,
verbose = TRUE
)
Thanks for your time!
ACE