 <p>That's an odd structure. Translating it to <code>dput</code> syntax</p> <pre><code>SOLK &lt;- structure(list(structure(c(1L, 2L, 3L, 4L, 5L, 5L, 6L, 6L, 7L, 7L), .Label = c("10:27:03,6", "10:32:58,4", "10:34:16,9", "10:35:46,0", "10:35:50,6", "10:36:10,3", "10:36:10,4"), class = "factor"), Close = c(0.99, 0.98, 0.98, 0.97, 0.96, 0.96, 0.95, 0.95, 0.95, 0.95), Volume = c(1000L, 100L, 600L, 500L, 50L, 1000L, 40L, 100L, 500L, 100L)), .Names = c("", "Close", "Volume" ), class = "data.frame", row.names = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")) </code></pre> <p>I'm assuming the comma in the timestamp is decimal separator.</p> <pre><code>library("chron") time.idx &lt;- times(gsub(",",".",as.character(SOLK[[1]]))) </code></pre> <p>Unfortunately, it seems <code>xts</code> won't take this as a valid <code>order.by</code>; so a date (today, for lack of a better choice) must be included to make <code>xts</code> happy.</p> <pre><code>xts(SOLK[[2]], order.by=chron(Sys.Date(), time.idx)) </code></pre>