R - ประเภทข้อมูล

โดยทั่วไปในขณะที่ทำการเขียนโปรแกรมด้วยภาษาการเขียนโปรแกรมใด ๆ คุณจำเป็นต้องใช้ตัวแปรต่างๆเพื่อจัดเก็บข้อมูลต่างๆ ตัวแปรเป็นเพียงตำแหน่งหน่วยความจำที่สงวนไว้เพื่อเก็บค่า ซึ่งหมายความว่าเมื่อคุณสร้างตัวแปรคุณจะสงวนพื้นที่ในหน่วยความจำไว้

คุณอาจต้องการจัดเก็บข้อมูลประเภทข้อมูลต่างๆเช่นอักขระอักขระแบบกว้างจำนวนเต็มจุดลอยตัวจุดลอยตัวคู่บูลีนเป็นต้นระบบปฏิบัติการจะจัดสรรหน่วยความจำและตัดสินใจว่าจะจัดเก็บข้อมูลใดใน หน่วยความจำที่สงวนไว้

ตรงกันข้ามกับภาษาโปรแกรมอื่น ๆ เช่น C และ java ใน R ตัวแปรจะไม่ได้รับการประกาศเป็นข้อมูลบางประเภท ตัวแปรถูกกำหนดด้วย R-Objects และชนิดข้อมูลของ R-object จะกลายเป็นชนิดข้อมูลของตัวแปร วัตถุ R มีหลายประเภท คนที่ใช้บ่อย ได้แก่ -

  • Vectors
  • Lists
  • Matrices
  • Arrays
  • Factors
  • เฟรมข้อมูล

สิ่งที่ง่ายที่สุดของวัตถุเหล่านี้คือ vector objectและมีข้อมูลหกประเภทของเวกเตอร์อะตอมเหล่านี้เรียกอีกอย่างว่าหกคลาสของเวกเตอร์ R-Objects อื่น ๆ ถูกสร้างขึ้นจากเวกเตอร์อะตอม

ประเภทข้อมูล ตัวอย่าง ยืนยัน
ตรรกะ ถูกผิด
v <- TRUE 
print(class(v))

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] "logical"
ตัวเลข 12.3, 5, 999
v <- 23.5
print(class(v))

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] "numeric"
จำนวนเต็ม 2L, 34L, 0L
v <- 2L
print(class(v))

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] "integer"
ซับซ้อน 3 + 2i
v <- 2+5i
print(class(v))

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] "complex"
ตัวละคร 'a', '"ดี", "TRUE", '23 .4'
v <- "TRUE"
print(class(v))

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] "character"
ดิบ "สวัสดี" ถูกจัดเก็บเป็น 48 65 6c 6c 6f
v <- charToRaw("Hello")
print(class(v))

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] "raw"

ในการเขียนโปรแกรม R ชนิดข้อมูลพื้นฐานคือ R-objects ที่เรียกว่า vectorsซึ่งมีองค์ประกอบของคลาสต่างๆดังที่แสดงไว้ด้านบน โปรดทราบใน R จำนวนชั้นเรียนไม่ได้ จำกัด เฉพาะหกประเภทข้างต้น ตัวอย่างเช่นเราสามารถใช้เวกเตอร์อะตอมจำนวนมากและสร้างอาร์เรย์ซึ่งคลาสจะกลายเป็นอาร์เรย์

เวกเตอร์

เมื่อคุณต้องการสร้างเวกเตอร์ที่มีองค์ประกอบมากกว่าหนึ่งองค์ประกอบคุณควรใช้ c() ฟังก์ชันซึ่งหมายถึงการรวมองค์ประกอบเป็นเวกเตอร์

# Create a vector.
apple <- c('red','green',"yellow")
print(apple)

# Get the class of the vector.
print(class(apple))

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

[1] "red"    "green"  "yellow"
[1] "character"

รายการ

รายการคือวัตถุ R ซึ่งสามารถมีองค์ประกอบหลายประเภทอยู่ภายในเช่นเวกเตอร์ฟังก์ชันและแม้แต่รายการอื่น ๆ ภายใน

# Create a list.
list1 <- list(c(2,5,3),21.3,sin)

# Print the list.
print(list1)

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

[[1]]
[1] 2 5 3

[[2]]
[1] 21.3

[[3]]
function (x)  .Primitive("sin")

เมทริกซ์

เมทริกซ์คือชุดข้อมูลสี่เหลี่ยมสองมิติ สามารถสร้างได้โดยใช้อินพุตเวกเตอร์ไปยังฟังก์ชันเมทริกซ์

# Create a matrix.
M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)
print(M)

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

[,1] [,2] [,3]
[1,] "a"  "a"  "b" 
[2,] "c"  "b"  "a"

อาร์เรย์

ในขณะที่เมทริกซ์ถูก จำกัด ไว้ที่สองมิติอาร์เรย์อาจมีขนาดเท่าใดก็ได้ ฟังก์ชันอาร์เรย์รับแอตทริบิวต์สลัวซึ่งสร้างจำนวนมิติที่ต้องการ ในตัวอย่างด้านล่างเราสร้างอาร์เรย์ที่มีสององค์ประกอบซึ่งแต่ละเมทริกซ์ 3x3

# Create an array.
a <- array(c('green','yellow'),dim = c(3,3,2))
print(a)

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

, , 1

     [,1]     [,2]     [,3]    
[1,] "green"  "yellow" "green" 
[2,] "yellow" "green"  "yellow"
[3,] "green"  "yellow" "green" 

, , 2

     [,1]     [,2]     [,3]    
[1,] "yellow" "green"  "yellow"
[2,] "green"  "yellow" "green" 
[3,] "yellow" "green"  "yellow"

ปัจจัย

ปัจจัยคือวัตถุ r ที่สร้างขึ้นโดยใช้เวกเตอร์ จะจัดเก็บเวกเตอร์พร้อมกับค่าที่แตกต่างกันขององค์ประกอบในเวกเตอร์เป็นป้ายกำกับ ป้ายกำกับเป็นอักขระเสมอไม่ว่าจะเป็นตัวเลขหรืออักขระหรือบูลีนเป็นต้นในเวกเตอร์อินพุต มีประโยชน์ในการสร้างแบบจำลองทางสถิติ

ปัจจัยถูกสร้างขึ้นโดยใช้ไฟล์ factor()ฟังก์ชัน nlevels ฟังก์ชันให้การนับระดับ

# Create a vector.
apple_colors <- c('green','green','yellow','red','red','red','green')

# Create a factor object.
factor_apple <- factor(apple_colors)

# Print the factor.
print(factor_apple)
print(nlevels(factor_apple))

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

[1] green  green  yellow red    red    red    green 
Levels: green red yellow
[1] 3

เฟรมข้อมูล

เฟรมข้อมูลคือออบเจ็กต์ข้อมูลแบบตาราง ซึ่งแตกต่างจากเมทริกซ์ในกรอบข้อมูลแต่ละคอลัมน์สามารถมีโหมดข้อมูลที่แตกต่างกันได้ คอลัมน์แรกสามารถเป็นตัวเลขในขณะที่คอลัมน์ที่สองสามารถเป็นอักขระและคอลัมน์ที่สามสามารถเป็นตรรกะได้ เป็นรายการเวกเตอร์ที่มีความยาวเท่ากัน

เฟรมข้อมูลถูกสร้างขึ้นโดยใช้ data.frame() ฟังก์ชัน

# Create the data frame.
BMI <- 	data.frame(
   gender = c("Male", "Male","Female"), 
   height = c(152, 171.5, 165), 
   weight = c(81,93, 78),
   Age = c(42,38,26)
)
print(BMI)

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

gender height weight Age
1   Male  152.0     81  42
2   Male  171.5     93  38
3 Female  165.0     78  26