user1471980
user1471980

Reputation: 10656

how do you convert a list to data frame in R

I have list as below and like to convert it to a data frame, any ideas?

x

str(x) looks like this:

List of 2
 $ :List of 8
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : chr "2013-MAY-30 09:17 AM"
  .. ..$ SITE         : chr "Home Page - User Time]"
  .. ..$ RESPONSE_TIME: chr "-"
  .. ..$ AVAIL_PERCENT: chr "-"
  .. ..$ AGENT        : num 45693
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : chr "2013-MAY-30 09:17 AM"
  .. ..$ SITE         : chr "Logon To My Accounts - User Time]"
  .. ..$ RESPONSE_TIME: chr "-"
  .. ..$ AVAIL_PERCENT: chr "-"
  .. ..$ AGENT        : num 45693
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : chr "2013-MAY-30 09:17 AM"
  .. ..$ SITE         : chr " Check - User Time]"
  .. ..$ RESPONSE_TIME: chr "-"
  .. ..$ AVAIL_PERCENT: chr "-"
  .. ..$ AGENT        : num 45693
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : chr "2013-MAY-30 09:17 AM"
  .. ..$ SITE         : chr " Activity - User Time]"
  .. ..$ RESPONSE_TIME: chr "-"
  .. ..$ AVAIL_PERCENT: chr "-"
  .. ..$ AGENT        : num 45693
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : chr "2013-MAY-30 09:17 AM"
  .. ..$ SITE         : chr "List - User Time]"
  .. ..$ RESPONSE_TIME: chr "-"
  .. ..$ AVAIL_PERCENT: chr "-"
  .. ..$ AGENT        : num 45693
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : chr "2013-MAY-30 09:17 AM"
  .. ..$ SITE         : chr "Recipient - User Time"
  .. ..$ RESPONSE_TIME: chr "-"
  .. ..$ AVAIL_PERCENT: chr "-"
  .. ..$ AGENT        : num 45693
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : chr "2013-MAY-30 09:17 AM"
  .. ..$ SITE         : chr "Cancel - User Time]"
  .. ..$ RESPONSE_TIME: chr "-"
  .. ..$ AVAIL_PERCENT: chr "-"
  .. ..$ AGENT        : num 45693
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : chr "2013-MAY-30 09:17 AM"
  .. ..$ SITE         : chr "Log Off - User Time]"
  .. ..$ RESPONSE_TIME: chr "-"
  .. ..$ AVAIL_PERCENT: chr "-"
  .. ..$ AGENT        : num 45693
 $ :List of 6
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : POSIXct[1:1], format: "2013-05-30 09:17:00"
  .. ..$ SITE         : chr "-Online Home Page - User Time]"
  .. ..$ RESPONSE_TIME: chr "4.145"
  .. ..$ AVAIL_PERCENT: chr "100.00"
  .. ..$ AGENT        : num 42627
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : POSIXct[1:1], format: "2013-05-30 09:17:00"
  .. ..$ SITE         : chr "-Logon To My Accounts - User Time]"
  .. ..$ RESPONSE_TIME: chr "6.185"
  .. ..$ AVAIL_PERCENT: chr "100.00"
  .. ..$ AGENT        : num 42627
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : POSIXct[1:1], format: "2013-05-30 09:17:00"
  .. ..$ SITE         : chr "-Pay Bills - User Time]"
  .. ..$ RESPONSE_TIME: chr "8.206"
  .. ..$ AVAIL_PERCENT: chr "100.00"
  .. ..$ AGENT        : num 42627
  ..$ :'data.frame':    1 obs. of  5 variables:
  .. ..$ DATE_TIME    : POSIXct[1:1], format: "2013-05-30 09:17:00"
  .. ..$ SITE         : chr "-Enter Payment Amounts - User Time]"
  .. ..$ RESPONSE_TIME: chr "4.976"
  .. ..$ AVAIL_PERCENT: chr "100.00"
  .. ..$ AGENT        : num 42627

Upvotes: 0

Views: 116

Answers (1)

James
James

Reputation: 66874

This looks like a double nested list of data.frames, so try:

do.call(rbind,unlist(x,FALSE))

Upvotes: 1

Related Questions