Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Using Additional R Packages: Times Series Clustering Example

mutuelinvestor
8 - Asteroid

I have the following r code (snippet)  in the r-tool and I trying to output it to my workflow.

 

doc <- htmlParse(temp)
  
  horse_name <- x <-xpathSApply(doc,"//tr[@bgcolor=\"white\"]/td[3]",xmlValue)
  horse_time <- x <-xpathSApply(doc,"//tr[@bgcolor=\"white\"]/td[4]",xmlValue)
  horse_dist <-xpathSApply(doc,"//tr[@bgcolor=\"white\"]/td[5]",xmlValue)
  horse_rail <-xpathSApply(doc,"//tr[@bgcolor=\"white\"]/td[6]",xmlValue)
  horse_avg <-xpathSApply(doc,"//tr[@bgcolor=\"white\"]/td[7]",xmlValue)
  horse_ahead <-xpathSApply(doc,"//tr[@bgcolor=\"white\"]/td[8]",xmlValue)
  
  
  
  horse_cu_time <-xpathSApply(doc,"//tr[@bgcolor=\"white\"]/td[11]",xmlValue)
  horse_cu_peak <-xpathSApply(doc,"//tr[@bgcolor=\"white\"]/td[12]",xmlValue)
  horse_cu_dist <-xpathSApply(doc,"//tr[@bgcolor=\"white\"]/td[13]",xmlValue)
  horse_cu_delta <-xpathSApply(doc,"//tr[@bgcolor=\"white\"]/td[14]",xmlValue)
  horse_cu_avg <-xpathSApply(doc,"//tr[@bgcolor=\"white\"]/td[15]",xmlValue)
  for(count in 1:length(horse_name))
  {
    if(!is.null(horse_ahead[count]) && !is.na(horse_ahead[count]))
    {
      if(horse_ahead[count]!="Neck" && horse_ahead[count]!="Head" && horse_ahead[count]!="")
      {
        
        horse_ahead[count] <-str_replace(horse_ahead[count]," ","+")
        eval(parse(text=horse_ahead[count]))
      }
    }
    output <- cat(horse_name[count],horse_time[count],horse_dist[count],horse_rail[count],horse_avg[count],horse_ahead[count],horse_cu_time[count],horse_cu_peak[count],horse_cu_dist[count],horse_cu_delta[count],horse_cu_avg[count],'\n')
write.Alteryx(output, 1) } }

  The last two lines of the code is where I'm trying to output my data to my workflow.  However,  I get an error message data parameter cannot be null, yet I don't think any null values are being produced.   Can anyone share with me the best practice to output data from the R tool?  Do I need to convert it to a data frame or perhaps a string?  Thanks for your input. 

2 REPLIES 2
JohnJPS
15 - Aurora

A couple comments:
1. I would try to avoid the loop... can you "cbind" all the fields together?

2. If the loop can't be avoided, then I would initialize"output" as a data frame first, then add rows to it within the loop e g. with "rbind." Then afterward, write the entire data frame to the Alteryx output.

mutuelinvestor
8 - Asteroid

John,

 

Thanks for the reply.  I had an opportunity to read up on rbind and I believe it will do the trick. 

 

Thanks again. 

 

Jim

Labels