R Combine Multiple Rows of DataFrame by creating new columns and union values
What you are asking is how to convert data from "long" form to "wide" form.

You can just use the reshape() function which is in the stats package. 

#' I constructed your data frame here
x&lt;-data.frame(ID=c(1234,1234),
          APPROVAL_STEP=c("STEP_A","STEP_B"),
          APPROVAL_STATUS=c("APPROVED","APPROVED"),
          APPROVAL_DATE=c("23-Jan-2019","21-Jan-2019"),
          APPROVER=c("John Smith","Jane Doe"))




#' Now to reshape the data

library(stats)
reshape(x, 
    timevar="APPROVAL_STEP",
    idvar="ID",
    sep="_", direction = "wide")


Your output should look like. 

  ID APPROVAL_STATUS_STEP_A APPROVAL_DATE_STEP_A APPROVER_STEP_A APPROVAL_STATUS_STEP_B APPROVAL_DATE_STEP_B
1 1234               APPROVED          23-Jan-2019      John Smith               APPROVED          21-Jan-2019
  APPROVER_STEP_B
1        Jane Doe


The column names is a cosmetic issue, but that's the gist of it. 

Hope this is helpful!