การเขียนโปรแกรม R - คู่มือสำหรับผู้เริ่มต้นใช้งานภาษาการเขียนโปรแกรม R



บล็อกเกี่ยวกับการเขียนโปรแกรม R นี้จะแนะนำให้คุณรู้จัก R และช่วยให้คุณเข้าใจแนวคิดพื้นฐานต่างๆของการเขียนโปรแกรม R โดยละเอียดพร้อมตัวอย่าง

R เป็นหนึ่งในเครื่องมือวิเคราะห์ยอดนิยม แต่นอกเหนือจากการใช้สำหรับการวิเคราะห์แล้ว R ยังเป็นภาษาโปรแกรมอีกด้วยด้วยการเติบโตในอุตสาหกรรมไอทีทำให้มีความต้องการที่เพิ่มมากขึ้นสำหรับผู้มีทักษะฝีมือหรือ ด้วยความเข้าใจ R เป็นทั้งเครื่องมือวิเคราะห์ข้อมูลและภาษาโปรแกรมในบล็อกนี้ฉันจะช่วยให้คุณเข้าใจพื้นฐานต่างๆของการเขียนโปรแกรม R ใน ถอย บล็อก ,เราได้พูดคุยกันว่าทำไมเราถึงต้องการ Analytics, Business Analytics คืออะไร, ทำไมและใครใช้ R

ในบล็อกนี้เราจะเข้าใจแนวคิดหลักด้านล่างของ R Programming ตามลำดับต่อไปนี้:





  1. ตัวแปร
  2. ประเภทข้อมูล
  3. ผู้ดำเนินการข้อมูล
  4. คำชี้แจงเงื่อนไข
  5. ลูป
  6. ฟังก์ชั่น

คุณสามารถดูบันทึกการสัมมนาทางเว็บของ R Programming Language ซึ่งผู้สอนของเราได้อธิบายหัวข้อต่างๆโดยละเอียดพร้อมตัวอย่างที่จะช่วยให้คุณเข้าใจ R Programming ได้ดีขึ้น

R การเขียนโปรแกรมสำหรับผู้เริ่มต้น | สอนภาษาการเขียนโปรแกรม R | Edureka



มาดูแนวคิดแรกของการเขียนโปรแกรม R - ตัวแปรกัน

การเขียนโปรแกรม R: ตัวแปร

ตัวแปรไม่ใช่อะไรนอกจากชื่อของตำแหน่งหน่วยความจำที่มีค่า ตัวแปรใน R สามารถเก็บค่าตัวเลขค่าเชิงซ้อนคำเมทริกซ์และแม้แต่ตาราง น่าแปลกใจใช่ไหม?

ตัวแปร - การเขียนโปรแกรม R - Edureka

รูปที่: การสร้างของตัวแปร



คุณสามารถเพิ่ม double เป็น int

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

ให้เราก้าวไปข้างหน้าและพยายามทำความเข้าใจว่าประเภทข้อมูลคืออะไรและประเภทข้อมูลต่างๆที่รองรับใน R

การเขียนโปรแกรม R: ประเภทข้อมูล

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

ชนิดข้อมูลระบุประเภทของค่าที่ตัวแปรมีและประเภทของการดำเนินการทางคณิตศาสตร์เชิงสัมพันธ์หรือเชิงตรรกะที่สามารถนำไปใช้ได้โดยไม่ก่อให้เกิดข้อผิดพลาด มีข้อมูลหลายประเภทใน R อย่างไรก็ตามด้านล่างนี้เป็นประเภทข้อมูลที่ใช้บ่อยที่สุด:

ตอนนี้ให้เราพูดถึงข้อมูลแต่ละประเภททีละประเภทโดยเริ่มจากเวกเตอร์

เวกเตอร์

เวกเตอร์เป็นวัตถุข้อมูล R พื้นฐานที่สุดและเวกเตอร์อะตอมมีหกประเภท ด้านล่างนี้คือเวกเตอร์อะตอมทั้งหก:

ตรรกะ : ใช้เพื่อเก็บค่าตรรกะเช่น จริง หรือ เท็จ .

ตัวเลข : ใช้เพื่อเก็บทั้งจำนวนบวกและลบรวมทั้งจำนวนจริง

เช่น 25, 7.1145, 96547

จำนวนเต็ม : มันเก็บค่าจำนวนเต็มทั้งหมดนั่นคือจำนวนเต็มบวกและลบทั้งหมด

เช่น 45.479, -856.479, 0

ซับซ้อน : นี่คือรูปแบบ x + yi โดยที่ x และ y เป็นตัวเลขและฉันแทนค่ารากที่สองของ -1

เช่น: 4 + 3i

ตัวละคร : ใช้เพื่อจัดเก็บอักขระเดี่ยวกลุ่มอักขระ (คำ) หรือกลุ่มคำเข้าด้วยกัน สามารถกำหนดอักขระเป็นเครื่องหมายคำพูดเดี่ยวหรือเครื่องหมายคำพูดคู่

เช่น 'Edureka', 'R is fun to learn'

โดยทั่วไปเวกเตอร์ถูกกำหนดและเริ่มต้นในลักษณะต่อไปนี้:

Vtr = c (2, 5, 11, 24) หรือ Vtr<- c(2, 5, 11 , 24)

ให้เราก้าวไปข้างหน้าและทำความเข้าใจประเภทข้อมูลอื่น ๆ ใน R

รายการ

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

เช่น:

Vtr<- c('Hello', 'Hi','How are you doing') mylist <- list(Vtr, 22.5, 14965, TRUE) mylist 

เอาท์พุต:

[[1]] [1] 'Hello' 'Hi' 'How คุณกำลังทำ '[[2]] [1] 22.5 [[3]] [1] 14965 [[4]] [1] จริง

เมทริกซ์

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

ไวยากรณ์พื้นฐานสำหรับการสร้างเมทริกซ์ใน R คือ & ลบ

 เมทริกซ์ (ข้อมูล, nrow, ncol, byrow, dimnames) 

ที่ไหน:

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

ตัวอย่าง:

มายเมทริกซ์<- matrix(c(1:25), nrow = 5, ncol = 5, byrow = TRUE) Mymatrix 

เอาท์พุต:

[, 1] [, 2] [, 3] [, 4] [, 5] [1,] 1 2 3 4 5 [2,] 6 7 8 9 10 [3,] 11 12 13 14 15 [4, ] 16 17 18 19 20 [5,] 21 22 23 24 25

ARRAY

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

ไวยากรณ์พื้นฐานสำหรับการสร้างอาร์เรย์ใน R คือ & ลบ

 อาร์เรย์ (data, dim, dimnames) 

ที่ไหน:

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

ตัวอย่าง:

Myarray<- array( c(1:16), dim=(4,4,2)) Myarray 

เอาท์พุต:

, หนึ่ง [, 1] [, 2] [, 3] [, 4] [1,] 1 5 9 13 [2,] 2 6 10 14 [3,] 3 7 11 15 [4,] 4 8 12 16 ,, 2 [, 1] [, 2] [, 3] [, 4] [1,] 1 5 9 13 [2,] 2 6 10 14 [3,] 3 7 11 15 [4,] 4 8 12 16

กรอบข้อมูล

Data Frame คือตารางหรือโครงสร้างคล้ายอาร์เรย์สองมิติซึ่งแต่ละคอลัมน์มีค่าของตัวแปรหนึ่งตัวและแต่ละแถวมีชุดค่าหนึ่งชุดสำหรับแต่ละคอลัมน์ ด้านล่างนี้คือคุณสมบัติบางประการของ Data Frame ที่ต้องพิจารณาทุกครั้งที่เราทำงานกับพวกเขา:

  • ชื่อคอลัมน์ไม่ควรว่างเปล่า
  • แต่ละคอลัมน์ควรมีรายการข้อมูลจำนวนเท่ากัน
  • ข้อมูลที่จัดเก็บในกรอบข้อมูลอาจเป็นประเภทตัวเลขตัวประกอบหรืออักขระ
  • ชื่อแถวควรไม่ซ้ำกัน

ตัวอย่าง:

emp_id = c (100: 104) emp_name = c ('John', 'Henry', 'Adam', 'Ron', 'Gary') dept = c ('Sales', 'Finance', 'Marketing', 'HR ',' R & D ') emp.data<- data.frame(emp_id, emp_name, dept) emp.data 

เอาท์พุต:

emp_id emp_name แผนก 1 100 จอห์นเซลส์ 2 101 Henry Finance 3 102 Adam Marketing 4 103 รอนชม 5 104 แกรี่อาร์แอนด์ดี

ตอนนี้เราได้เข้าใจประเภทข้อมูลพื้นฐานของ R แล้วก็ถึงเวลาที่เราจะดำดิ่งสู่ R โดยทำความเข้าใจกับแนวคิดของ Data Operators

การเขียนโปรแกรม R: ตัวดำเนินการข้อมูล

ส่วนใหญ่มีตัวดำเนินการข้อมูล 4 ตัวใน R ดังที่แสดงด้านล่าง:

ตัวดำเนินการเลขคณิต : ตัวดำเนินการเหล่านี้ช่วยให้เราดำเนินการทางคณิตศาสตร์ขั้นพื้นฐานเช่นการบวกการลบการคูณ ฯลฯ

พิจารณาตัวอย่างต่อไปนี้:

num1 = 15 num2 = 20 num3 = 0 #addition num3 = num1 + num2 num3 #substraction num3 = num1 - num2 num3 #multiplication num3 = num1 * num2 num3 #division num3 = num1 / num2 num3 #modulus num3 = num1 %% num2 num3 #exponent num1 = 5 num2 = 3 num3 = num1 ^ num2 num3 #floor division num3 = num1% /% num2 num3

เอาท์พุต:

[1] 35 [สิบห้า [1] 300 [1] 0.75 [1] 15 [1] 125 [สิบเอ็ด

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

พิจารณาตัวอย่างต่อไปนี้:

num1 = 15 num2 = 20 # เท่ากับ num3 = (num1 == num2) num3 # not เท่ากับ num3 = (num1! = num2) num3 #lesser than num3 = (num1 num2) num3 #less than เท่ากับ num1 = 5 num2 = 20 num3 = (num1 = num2) num3

เอาท์พุต:

goto ฟังก์ชั่น c ++
[1] เท็จ [1] จริง [1] จริง [1] เท็จ [1] จริง [1] เท็จ

ผู้ดำเนินการมอบหมาย: ตัวดำเนินการเหล่านี้ใช้เพื่อกำหนดค่าให้กับตัวแปรใน R การกำหนดสามารถทำได้โดยใช้ตัวดำเนินการกำหนด(<-) หรือเท่ากับตัวดำเนินการ (=) ค่าของตัวแปรสามารถกำหนดได้สองวิธีคือการกำหนดทางซ้ายและการกำหนดทางขวา

ตรรกะตัวดำเนินการ: ตัวดำเนินการเหล่านี้เปรียบเทียบทั้งสองเอนทิตีและโดยทั่วไปจะใช้กับค่าบูลีน (ตรรกะ) เช่น 'และ' 'หรือ'และ'ไม่'.


การเขียนโปรแกรม R: งบเงื่อนไข

  1. ถ้าคำชี้แจง: คำสั่ง If ช่วยคุณในการประเมินนิพจน์เดียวเป็นส่วนหนึ่งของโฟลว์ ในการดำเนินการประเมินนี้คุณเพียงแค่เขียนคีย์เวิร์ด If ตามด้วยนิพจน์ที่ต้องการประเมิน โฟลว์ไดอะแกรมด้านล่างนี้จะให้แนวคิดว่าคำสั่ง If ควบคุมโฟลว์ของโค้ดอย่างไร: พิจารณาตัวอย่างต่อไปนี้:
num1 = 10 num2 = 20 ถ้า (num1<=num2){ print('Num1 is less or equal to Num2') 

เอาท์พุต:

[1] 'Num1 น้อยกว่าหรือเท่ากับ Num2'
  • อื่นถ้าคำชี้แจง: คำสั่ง Else if ช่วยคุณในการขยายสาขาไปยังโฟลว์ที่สร้างโดยคำสั่ง If และให้โอกาสคุณในการประเมินเงื่อนไขหลายเงื่อนไขโดยการสร้างสาขาของโฟลว์ใหม่ โฟลว์ด้านล่างนี้จะทำให้คุณทราบว่าคำสั่ง else if แยกการไหลของโค้ดอย่างไร:

    พิจารณาตัวอย่างต่อไปนี้:

    Num1 = 5 Num2 = 20 if (Num1 Num2) {print ('Num2 is lesser than Num1')} else if ('Num1 == Num2) {print (' Num1 and Num2 are Equal ')}

    เอาท์พุต:

    [1] 'Num1 น้อยกว่า Num2'

  • คำชี้แจงอื่น: คำสั่ง else ใช้เมื่อตรวจสอบนิพจน์อื่น ๆ ทั้งหมดและพบว่าไม่ถูกต้อง นี่จะเป็นคำสั่งสุดท้ายที่ดำเนินการโดยเป็นส่วนหนึ่งของสาขา If - Else if ขั้นตอนด้านล่างนี้จะช่วยให้คุณมีความคิดที่ดีขึ้นเกี่ยวกับวิธีที่ Else เปลี่ยนแปลงโฟลว์ของโค้ด:

การถดถอยโลจิสติกในรหัสหลาม

พิจารณาตัวอย่างต่อไปนี้:

Num1 = 5 Num2 = 20 if (Num1 Num2) {print ('Num2 is lesser than Num1')} else print ('Num1 and Num2 are Equal')}

เอาท์พุต:

[1] 'Num1 และ Num2 เท่ากัน'

การเขียนโปรแกรม R: ลูป

คำสั่งวนซ้ำช่วยให้เราดำเนินการคำสั่งหรือกลุ่มของคำสั่งได้หลายครั้ง ลูปส่วนใหญ่มี 3 ประเภทใน R:

  1. วนซ้ำ : ทำซ้ำคำสั่งหรือกลุ่มของคำสั่งในขณะที่เงื่อนไขที่กำหนดเป็น TRUE การวนซ้ำเป็นตัวอย่างที่ดีที่สุดของลูปที่ควบคุมการออกโดยที่โค้ดถูกเรียกใช้ครั้งแรกจากนั้นตรวจสอบเงื่อนไขเพื่อตรวจสอบว่าตัวควบคุมควรอยู่ในลูปหรือออกจากลูป ด้านล่างนี้คือขั้นตอนการควบคุมในลูปซ้ำ:
    ให้เราดูตัวอย่างด้านล่างเพื่อทำความเข้าใจว่าเราสามารถใช้การวนซ้ำเพื่อเพิ่ม n ตัวเลขได้อย่างไรจนกว่าผลรวมจะเกิน 100:

    x = 2 ซ้ำ {x = x ^ 2 พิมพ์ (x) ถ้า (x> 100) {break}

    เอาท์พุต:

    [1] 4 [1] 16 [1] 256
  2. ขณะวนซ้ำ : ผมt ช่วยในการทำซ้ำคำสั่งหรือกลุ่มของคำสั่งในขณะที่เงื่อนไขที่กำหนดเป็น TRUE ในขณะที่การวนซ้ำเมื่อเปรียบเทียบกับลูปการทำซ้ำจะแตกต่างกันเล็กน้อยมันเป็นตัวอย่างของลูปที่ควบคุมรายการที่เงื่อนไขจะถูกตรวจสอบก่อนและเฉพาะในกรณีที่พบว่าเงื่อนไขเป็นจริงการควบคุมจะถูกส่งภายในลูปเพื่อดำเนินการโค้ด . ด้านล่างนี้คือขั้นตอนของการควบคุมใน while loop:
    ให้เราดูตัวอย่างด้านล่างเพื่อเพิ่มผลรวมของกำลังสองสำหรับตัวเลข 10 ตัวแรกและทำความเข้าใจว่า while loop ทำงานได้ดีขึ้นอย่างไร:

    num = 1 sumn = 0 ในขณะที่ (num<=11){ sumn =(sumn+ (num^2) num = num+1 print(sumn) } 


    เอาท์พุต:

    [สิบเอ็ด [สิบห้า [1] 14 [1] 30 [1] 55 [1] 91 [1] 140 [1] 204 [1] 285 [1] 385 [1] 506
  3. สำหรับ Loop : ใช้เพื่อทำซ้ำคำสั่งหรือกลุ่มสำหรับจำนวนครั้งที่กำหนด ซึ่งแตกต่างจากการทำซ้ำและในขณะที่วนซ้ำ for loop จะถูกใช้ในสถานการณ์ที่เราทราบถึงจำนวนครั้งที่รหัสต้องดำเนินการล่วงหน้า มันคล้ายกับ while loop ที่เงื่อนไขถูกตรวจสอบก่อนจากนั้นจะดำเนินการเฉพาะโค้ดที่เขียนภายในเท่านั้น มาดูขั้นตอนการควบคุมสำหรับลูปทันที:

ตอนนี้ให้เราดูตัวอย่างที่เราจะใช้ for loop เพื่อพิมพ์ตัวเลข 10 ตัวแรก:

สำหรับ (x in 1:10) {print (x)}

เอาท์พุต:

[สิบเอ็ด [1] 2 [1] 3 [1] 4 [สิบห้า [1] 6 [1] 7 [1] 8 [1] 9 [1] 10

การเขียนโปรแกรม R: ฟังก์ชั่น

ฟังก์ชันคือบล็อกของโค้ดที่จัดระเบียบและใช้ซ้ำได้ซึ่งใช้ในการดำเนินการเดียวที่เกี่ยวข้อง ส่วนใหญ่มีฟังก์ชันสองประเภทใน R:

ฟังก์ชันที่กำหนดไว้ล่วงหน้า : ฟังก์ชันเหล่านี้สร้างขึ้นในฟังก์ชันที่ผู้ใช้สามารถใช้เพื่อทำงานได้ ง่ายร. เช่น: mean( x) , sยู( x) , sqrเสื้อ ( x ), นักแตะ( x ) ฯลฯ

ผู้ใช้กำหนด ฟังก์ชั่น: ฟังก์ชันเหล่านี้สร้างขึ้นโดยผู้ใช้เพื่อตอบสนองความต้องการเฉพาะของผู้ใช้ ด้านล่างนี้คือไวยากรณ์สำหรับการสร้างฟังก์ชันในR:

 func  tion_name  <– ฟังก์ชัน (arg_1, arg_2 และ hellip){ // ตัวฟังก์ชัน }

ลองพิจารณาตัวอย่างฟังก์ชันง่ายๆต่อไปนี้สำหรับการสร้างผลรวมของกำลังสองของ2 หมายเลข:

sum_of_square<- function(x,y) { x^2 + y^2 } sum_of_sqares(3,4) 
เอาต์พุต: [1] 25

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

ตอนนี้คุณเข้าใจพื้นฐานของ R แล้วลองดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก การฝึกอบรมการวิเคราะห์ข้อมูลด้วย R ของ Edureka จะช่วยให้คุณได้รับความเชี่ยวชาญในการเขียนโปรแกรม R, การจัดการข้อมูล, การวิเคราะห์ข้อมูลเชิงสำรวจ, การแสดงข้อมูล, การขุดข้อมูล, การถดถอย, การวิเคราะห์ความรู้สึกและการใช้ RStudio สำหรับกรณีศึกษาในชีวิตจริงเกี่ยวกับการค้าปลีกโซเชียลมีเดีย

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบล็อก 'R Programming' และเราจะติดต่อกลับโดยเร็วที่สุด