วิธีการใช้ฟังก์ชัน replicate() ใน r (พร้อมตัวอย่าง)
คุณสามารถใช้ฟังก์ชัน Replicate() เพื่อประเมินนิพจน์ใน R ซ้ำๆ ได้ตามจำนวนครั้งที่กำหนด
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
ทำซ้ำ (n, expr)
ทอง:
- n : จำนวนครั้งในการประเมินนิพจน์ซ้ำๆ
- expr : นิพจน์ที่จะประเมิน
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่างที่ 1: จำลองค่าหลายครั้ง
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน การทำซ้ำ () เพื่อประเมินค่าเดียวซ้ำ ๆ หลายครั้ง:
#replicate the value 3 exactly 10 times replicate(n= 10,3 ) [1] 3 3 3 3 3 3 3 3 3 3 #replicate the letter 'A' exactly 7 times replicate(n= 7 , ' A ') [1] “A” “A” “A” “A” “A” “A” “A” #replicate FALSE exactly 5 times replicate(n= 5 , FALSE ) [1] FALSE FALSE FALSE FALSE FALSE
ตัวอย่างที่ 2: ทำซ้ำฟังก์ชันหลายครั้ง
ตอนนี้ สมมติว่าเราต้องการประเมินฟังก์ชันซ้ำๆ
ตัวอย่างเช่น สมมติว่าเราใช้ฟังก์ชัน rnorm() เพื่อสร้างค่าสามค่าสำหรับ ตัวแปรสุ่ม ที่เป็นไปตามการแจกแจงแบบปกติโดยมีค่าเฉลี่ยเป็น 0 และค่าเบี่ยงเบนมาตรฐานเป็น 1:
#make this example reproducible
set. seeds (1)
#generate 3 values that follow normal distribution
rnorm(3, mean= 0 , sd= 1 )
[1] -0.6264538 0.1836433 -0.8356286
ด้วยการใช้ฟังก์ชัน Replicate() เราสามารถประเมินฟังก์ชัน rnorm() นี้ซ้ำๆ ได้หลายครั้ง
ตัวอย่างเช่น เราสามารถประเมินฟังก์ชันนี้ได้ 5 ครั้ง:
#make this example reproducible
set. seeds (1)
#generate 3 values that follow normal distribution (replicate this 4 times)
replicate(n= 4 , rnorm(3, mean= 0 , sd= 1 ))
[,1] [,2] [,3] [,4]
[1,] 1.5952808 0.4874291 -0.3053884 -0.6212406
[2,] 0.3295078 0.7383247 1.5117812 -2.2146999
[3,] -0.8204684 0.5757814 0.3898432 1.1249309
ผลลัพธ์คือเมทริกซ์ที่มี 3 แถวและ 4 คอลัมน์
หรือบางทีเราอยากจะประเมินฟังก์ชันนี้ 6 ครั้ง:
#make this example reproducible
set. seeds (1)
#generate 3 values that follow normal distribution (replicate this 6 times)
replicate(n= 6 , rnorm(3, mean= 0 , sd= 1 ))
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1.5952808 0.4874291 -0.3053884 -0.6212406 -0.04493361 0.8212212
[2,] 0.3295078 0.7383247 1.5117812 -2.2146999 -0.01619026 0.5939013
[3,] -0.8204684 0.5757814 0.3898432 1.1249309 0.94383621 0.9189774
ผลลัพธ์คือเมทริกซ์ที่มี 6 แถวและ 3 คอลัมน์
ใช้ Replicate() เพื่อจำลองข้อมูล
ฟังก์ชัน Replicate() มีประโยชน์อย่างยิ่งในการรันการจำลอง
ตัวอย่างเช่น สมมติว่าเราต้องการสร้างตัวอย่าง 5 ตัวอย่างที่มีขนาด n = 10 โดยแต่ละตัวอย่างเป็นไปตามการแจกแจงแบบปกติ
เราสามารถใช้ฟังก์ชัน Replicate() เพื่อสร้างตัวอย่างที่แตกต่างกัน 5 ตัวอย่าง จากนั้นจึงใช้ฟังก์ชัน colMeans() เพื่อค้นหาค่าเฉลี่ยของแต่ละตัวอย่างได้:
#make this example reproducible set. seeds (1) #create 5 samples each of size n=10 data <- replicate(n=5, rnorm(10, mean= 0 , sd= 1 )) #view samples data [,1] [,2] [,3] [,4] [,5] [1,] -0.6264538 1.51178117 0.91897737 1.35867955 -0.1645236 [2,] 0.1836433 0.38984324 0.78213630 -0.10278773 -0.2533617 [3,] -0.8356286 -0.62124058 0.07456498 0.38767161 0.6969634 [4,] 1.5952808 -2.21469989 -1.98935170 -0.05380504 0.5566632 [5,] 0.3295078 1.12493092 0.61982575 -1.37705956 -0.6887557 [6,] -0.8204684 -0.04493361 -0.05612874 -0.41499456 -0.7074952 [7,] 0.4874291 -0.01619026 -0.15579551 -0.39428995 0.3645820 [8,] 0.7383247 0.94383621 -1.47075238 -0.05931340 0.7685329 [9,] 0.5757814 0.82122120 -0.47815006 1.10002537 -0.1123462 [10,] -0.3053884 0.59390132 0.41794156 0.76317575 0.8811077 #calculate mean of each sample colMeans(data) [1] 0.1322028 0.2488450 -0.1336732 0.1207302 0.1341367
จากผลลัพธ์เราจะเห็นได้ว่า:
- ค่าเฉลี่ยของกลุ่มตัวอย่างแรกคือ 0.1322 .
- ค่าเฉลี่ยของกลุ่มตัวอย่างที่สองคือ 0.2488
- ค่าเฉลี่ยของกลุ่มตัวอย่างที่สามคือ -0.1337
และอื่นๆ
แหล่งข้อมูลเพิ่มเติม
วิธีเลือกคอลัมน์เฉพาะใน R
วิธีลบคอลัมน์ออกจาก data frame ใน R
วิธีลบแถวออกจาก data frame ตามเงื่อนไขใน R