สร้างและจัดรูปแบบเวลา
เช่นเดียวกับการทำงานกับวันที่ คุณสามารถใช้ as.POSIXct() เพื่อแปลง character string ให้เป็น POSIXct object และใช้ format() เพื่อแปลง POSIXct object กลับเป็น character string โดยมีสัญลักษณ์ให้เลือกใช้หลากหลาย ดังนี้
%H: ชั่วโมงในรูปแบบตัวเลขทศนิยม (00-23)%I: ชั่วโมงในรูปแบบตัวเลขทศนิยม (01-12)%M: นาทีในรูปแบบตัวเลขทศนิยม%S: วินาทีในรูปแบบตัวเลขทศนิยม%T: ตัวย่อของรูปแบบทั่วไป%H:%M:%S%p: ตัวบอก AM/PM
สำหรับรายการสัญลักษณ์แปลงทั้งหมด ให้ดูเอกสารของ strptime ใน console:
?strptime
as.POSIXct() ใช้ format เริ่มต้นในการจับคู่ character string ซึ่งในกรณีนี้คือ %Y-%m-%d %H:%M:%S ในแบบฝึกหัดนี้จะไม่คำนึงถึง time zone ที่แตกต่างกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R ระดับกลาง
คำแนะนำการฝึกหัด
- แปลง string สองตัวที่แทน timestamp ได้แก่
str1และstr2ให้เป็นPOSIXctobject ชื่อtime1และtime2 - ใช้
format()สร้าง string จากtime1ที่แสดงเฉพาะนาที - จาก
time2ให้ดึงชั่วโมงและนาทีในรูปแบบ "ชั่วโมง:นาที AM/PM" โดยอ้างอิงสัญลักษณ์แปลงที่ถูกต้องจากข้อความ assignment ด้านบน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Definition of character strings representing times
str1 <- "May 23, '96 hours:23 minutes:01 seconds:45"
str2 <- "2012-3-12 14:23:08"
# Convert the strings to POSIXct objects: time1, time2
time1 <- as.POSIXct(str1, format = "%B %d, '%y hours:%H minutes:%M seconds:%S")
# Convert times to formatted strings