วิธีสร้างเมทริกซ์ว่างใน r (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อสร้างเมทริกซ์ว่างที่มีขนาดเฉพาะใน R:

 #create empty matrix with 10 rows and 3 columns
empty_matrix <- matrix(, nrow= 10 , ncol= 3 )

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่างที่ 1: สร้างเมทริกซ์ว่างที่มีขนาดเฉพาะ

รหัสต่อไปนี้แสดงวิธีการสร้างเมทริกซ์ว่างที่มีขนาดเฉพาะใน R:

 #create empty matrix with 10 rows and 3 columns
empty_matrix <- matrix(, nrow= 10 , ncol= 3 )

#view empty matrix
empty_matrix

      [,1] [,2] [,3]
 [1,] NA NA NA
 [2,] NA NA NA
 [3,] NA NA NA
 [4,] NA NA NA
 [5,] NA NA NA
 [6,] NA NA NA
 [7,] NA NA NA
 [8,] NA NA NA
 [9,] NA NA NA
[10,] NA NA NA

#view class
class(empty_matrix)

[1] "matrix" "array" 

ผลลัพธ์คือเมทริกซ์ 10 แถวและ 3 คอลัมน์โดยที่แต่ละองค์ประกอบของเมทริกซ์ว่างเปล่า

ตัวอย่างที่ 2: สร้างเมทริกซ์ที่ไม่ทราบขนาด

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

 #create empty list
my_list <-list()

#add data using for loop
for (i in 1:4) {
    my_list[[i]] <- rnorm(10)
}

#column bind values into a matrix
my_matrix = do. call (cbind, my_list)

#view final matrix
my_matrix

            [,1] [,2] [,3] [,4]
 [1,] 1.3064332 1.18175760 2.1603867 1.2378847
 [2,] 0.8618439 0.66663694 0.1113606 0.2062029
 [3,] -0.4689356 -0.03200797 -1.3872632 1.6531437
 [4,] -0.4664767 -0.79285400 0.3972758 0.1632975
 [5,] 0.5880580 1.05795303 -0.5655543 -0.3557376
 [6,] 0.5412100 -0.32070294 -0.3687303 -1.1778959
 [7,] 0.5073627 -0.24925226 1.0031305 0.6336998
 [8,] 0.8047177 0.10968558 0.3225197 1.6776955
 [9,] 1.5755134 1.40435730 1.8360239 0.5612274
[10,] -0.6430913 0.01173386 0.3181037 -0.8414270

ผลลัพธ์คือเมทริกซ์ที่มี 10 แถวและ 4 คอลัมน์

แหล่งข้อมูลเพิ่มเติม

ตัวอย่างต่อไปนี้แสดงวิธีการสร้างวัตถุว่างอื่น ๆ ใน R:

วิธีสร้าง data frame ว่างใน R
วิธีสร้างรายการว่างใน R
วิธีสร้างเวกเตอร์ว่างใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *