เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

สร้างและจัดรูปแบบวันที่

ในการสร้างออบเจกต์ Date จาก character string ใน R สามารถใช้ฟังก์ชัน as.Date() โดย character string ต้องอยู่ในรูปแบบที่กำหนดด้วยสัญลักษณ์ต่อไปนี้ (ตัวอย่างอ้างอิงจากวันที่ 13 มกราคม 1982):

  • %Y: ปี 4 หลัก (1982)
  • %y: ปี 2 หลัก (82)
  • %m: เดือน 2 หลัก (01)
  • %d: วันที่ 2 หลัก (13)
  • %A: วันในสัปดาห์ (Wednesday)
  • %a: วันในสัปดาห์แบบย่อ (Wed)
  • %B: ชื่อเดือนเต็ม (January)
  • %b: ชื่อเดือนแบบย่อ (Jan)

คำสั่ง R ต่อไปนี้ทุกบรรทัดจะสร้างออบเจกต์ Date เดียวกัน คือวันที่ 13 มกราคม 1982:

as.Date("1982-01-13")
as.Date("Jan-13-82", format = "%b-%d-%y")
as.Date("13 January, 1982", format = "%d %B, %Y")

สังเกตว่าบรรทัดแรกไม่จำเป็นต้องระบุอาร์กิวเมนต์ format เพราะ R จะจับคู่ character string กับรูปแบบ "%Y-%m-%d" หรือ "%Y/%m/%d" โดยอัตโนมัติ

นอกจากการสร้างวันที่แล้ว ยังสามารถแปลงวันที่ให้เป็น character string ในรูปแบบอื่นได้โดยใช้ฟังก์ชัน format() ลองรันโค้ดต่อไปนี้ดู:

today <- Sys.Date()
format(Sys.Date(), format = "%d %B, %Y")
format(Sys.Date(), format = "Today is a %A!")

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

R ระดับกลาง

ดูคอร์ส

คำแนะนำการฝึกหัด

  • มี character string แทนวันที่สามรายการเตรียมไว้ให้แล้ว ให้แปลงแต่ละรายการให้เป็นวันที่โดยใช้ as.Date() แล้วกำหนดให้กับตัวแปร date1, date2 และ date3 ตามลำดับ โดยโค้ดสำหรับ date1 ได้เขียนไว้ให้แล้ว
  • ดึงข้อมูลจากวันที่เหล่านั้นออกมาเป็น character string โดยใช้ format() จากวันที่แรก ให้ดึงชื่อวันในสัปดาห์ จากวันที่สอง ให้ดึงวันที่ในเดือน และจากวันที่สาม ให้ดึงชื่อเดือนแบบย่อและปี 4 หลัก โดยคั่นด้วยช่องว่าง

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Definition of character strings representing dates
str1 <- "May 23, '96"
str2 <- "2012-03-15"
str3 <- "30/January/2006"

# Convert the strings to dates: date1, date2, date3
date1 <- as.Date(str1, format = "%b %d, '%y")



# Convert dates to formatted strings
format(date1, "%A")
แก้ไขและรันโค้ด