आप आधार आर पर भरोसा कर सकता है:
foo$hr <- h.str
# If you prefer, the choice can be made at random:
foo$hr <- if(runif(1) > 0.5){ h.str } else { h.lub }
तो ggplot2 पैकेज का उपयोग साजिश
# Using R 2.14.2
# The same toy data
foo <- data.frame(start.time = c("2012-02-06 15:47:00",
"2012-02-06 15:02:00",
"2012-02-22 10:08:00"),
duration = c(1,2,3))
Si एनसी कक्षा POSIXct में संरचित तरीके से दिनांक-समय की जानकारी होती है, आप POSIXct वेक्टर के भीतर समय स्थिति में वर्ण निकालने के लिए substr
पर भरोसा कर सकते हैं।
# Extract hour and minute as a character vector, of the form "%H:%M"
substr(foo$start.time, 12, 16)
और फिर यह एक मनमाना तारीख करने के लिए पेस्ट इसे वापस POSIXct में बदलने के लिए: यह (यह कैसे जब मुद्रित प्रस्तुत किया जाएगा), तो आप घंटे और मिनट निकाल सकते हैं, है यह देखते हुए आप अपने POSIXct का स्वरूप पता है। उदाहरण में मैं जनवरी 2012 का उपयोग करता हूं, लेकिन यदि आप कोई तारीख निर्दिष्ट नहीं करते हैं और इसके बजाय format
R का उपयोग वर्तमान दिनांक का उपयोग करता है।
# Store time information as POSIXct, using an arbitrary date
foo$time <- as.POSIXct(paste("2012-01-01", substr(foo$start.time, 12, 16)))
और दोनों plot
और ggplot2
पता बॉक्स से बाहर POSIXct में बार प्रारूप बनाने के तरीके।
# Plot it using base graphics
plot(duration~time, data=foo)
# Plot it using ggplot2 (0.9.2.1)
library(ggplot2)
qplot(x=time, y=duration, data=foo)
लाइब्रेरी 'लुब्रिडेट' और 'चिड़ियाघर' आपके लिए सहायक हो सकते हैं। लेकिन आधार आर में, 'प्रारूप (foo $ start.time, प्रारूप ='% एच: एम ') '। – Justin
धन्यवाद। 'प्रारूप (foo $ start.time, format = '% h: m') वाला एक मुद्दा यह है कि आउटपुट वर्ण प्रारूप में है। मैं आउटपुट को किसी प्रकार के अंकीय प्रारूप में होना चाहता हूं ताकि इसे साजिश के एक्स अक्ष के रूप में उपयोग किया जा सके। – andrewj
कई तरीके हैं। फिर मैं आपको 'लुब्रिडेट' या [इस पोस्ट] पर इंगित करूंगा (http://stackoverflow.com/questions/7655514/how-do-i-plot-only-the-time-portion-of-a-timestamp- एक तिथि सहित) – Justin