26
คคคคคคคคคคคคคคคค คคคคคคคคคคคคคคคค R R language เเเเ programming language เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเ เเเเเ S language เเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเ S-PLUS (เเเเเเ Insightful) S- Plus เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเ S เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ 80 เเเ AT&T lab เเเเเเเเ R เเเเเเเเเเเเเเเเเเ เเเเเเเเ Robert Gentleman เเเ Ross Ihaka เเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเ 1995 เเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเ R เเเเเเเเเเเเเเ open-source เเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเ"คคค"เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ Unix, Linux, MS Window เเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเ 2.0.1 เเเเ (stable version)เเเ R language เเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเ เเเเเเเเเ Help เเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเ

bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

คู่มอืการติดตั้ง และการใชง้านภาษา R

R language เป็น programming language สำ�หรบัก�รคำ�นวณท�งสถิติและแสดงกร�ฟฟกิโดยเฉพ�ะ ได้รบัก�รพฒัน�ม�เพื่อทดแทน S language ท่ีพฒัน�ม�เป็นซอฟท์แวรท์�งก�รค้� S-PLUS (บรษัิท Insightful) S-Plus เป็นโปรแกรมคำ�นวณท�งสถิติท่ีได้รบัคว�มนิยมเป็นอย�่งม�กอันหนึ่ง โดยภ�ษ� S ได้รบัก�รพฒัน�ในชว่งปล�ยทศวรรษท่ี 80 โดย AT&T lab สว่นภ�ษ� R นัน้เริม่ได้รบัก�รพฒัน�โดย Robert Gentleman และ Ross Ihaka จ�กภ�ควชิ�สถิติ มห�วทิย�ลัยโอคแลนด์ ประเทศนิวซแีลนด์ในปี 1995 ในปัจจุบนัอยูภ่�ยใต้ก�รดแูลของทีมพฒัน�ซึ่งเป็นอ�ส�สมคัรจ�กทัว่โลก R พฒัน�ขึ้นม�แบบ open-source ทำ�ใหส้�ม�รถด�วโหลดโปรแกรมม�ใชไ้ด้"ฟร"ีซึ่งมอียูบ่นหล�ยแพล็ตฟอรม์เชน่ Unix, Linux, MS Window ซึ่งล่�สดุได้รบัก�รพฒัน�ถึงเวอรช์ัน่ 2.0.1 แล้ว (stable version)โดย R language ม�พรอ้มกับเอกส�รแนะนำ�เบื้องต้น และเอกส�ร Help นอกจ�กนี้ยงัส�ม�รถอ่�นเอกส�รเฉพ�ะท�งซึ่งเขยีนโดยผู้เชีย่วช�ญในด้�นนัน้ๆได้จ�กเวบ็ไซต์ด้�นบนเชน่กัน นอกจ�กน้ีแล้วแหล่งขอ้มูลท่ีสำ�คัญอีกท่ีคือ R-help mailing list ซึ่งส�ม�รถค้นห�คำ�ถ�มและคำ�ตอบหรอืจะสมคัรเพื่อรบัและสง่อีเมล์กับกลุ่มดังกล่�วก็ได้เชน่กัน และโดยทัว่ไป R ถกูพฒัน�ขึ้นม�ทดแทน S ดังนัน้เอกส�รของ S-PLUS จงึส�ม�รถใชไ้ด้กับ R ได้เชน่กัน

Page 2: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

R language กล�ยเป็นม�ตรฐ�นแบบ de facto ในบรรด�นักสถิติ สำ�หรบัใชใ้นก�รพฒัน�ซอรฟ์แวรท์�งสถิติ และมีก�รนำ�ม�ใชใ้นก�รพฒัน�ซอรฟ์แวรท์�งสถิติและก�รวเิคร�ะห์ขอ้มูล

R language เป็นสว่นหน่ึงของ GNU project ซึ่งมกี�รแจก source code ฟรภี�ยใต้ลิขสทิธิข์อง GNU General Public License ซึ่ง source code นัน้ส�ม�รถคอมไพล์และทำ�ง�นได้บนระบบปฏิบติัก�รเกือบทกุระบบ

การติดตั้งโปรแกรม R ลง Ubuntu

1.เข�้ Appication ไปท่ี accessories เลือก Terminal2.พมิพค์ำ�สัง่ sudo apt-get update เพื่อทำ�ก�ร update

ก่อนติดตัง้ และใส ่password ก่อนจะทำ�ก�ร update

Page 3: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

รูป : แสดงก�ร update ระบบของ Ubuntu3.พมิพค์ำ�สัง่ sudo apt-get install r-base เพื่อติดตัง้

โปรแกรม R

รูป : แสดงก�รติดตัง้โปรแกรม R บน Ubuntu (1)

Page 4: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

รูป : แสดงก�รติดตัง้โปรแกรม R บน Ubuntu (2)4.หลังจ�กติดตัง้โปรแกรมเสรจ็ ส�ม�รถเปิดใชง้�นโปรแกรม

R ได้ โดยก�รเปิด Terminal และ รนัโปรแกรม R ด้วยคำ�สัง่ R จะเข�้สูห่น้�โปรแกรมใชง้�น ดังรูป

รูป : แสดงโปรแกรม R ในสถ�นะพรอ้มใชง้�น บน Ubuntu

Page 5: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

การติดตั้งโปรแกรม R ลง Window

1.Download ไฟล์ติดตัง้ Download R 2.9.2 for Windows จ�กเวบ็ไซต์ http://cran.r-project.org/bin/windows/base/ จะได้ไอคอน R-2.9.2-win32.exe ดังรูป

2.ติดตัง้โปรแกรม R โดยดับเบิล้คลิกท่ีไอคอน R-2.9.2-win32.exe จะปร�กฏหน้�ต่�งแนะนำ�โปรแกรมต่�งดังรูป แล้วคลิกท่ี Next

Page 6: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

3.อธบิ�ยชนิดของลิขสทิธิโ์ปรแกรม R ว�่เป็นชนิด GNU แล้วกดท่ีปุ่ม Next >

4. เลือกท่ีสำ�หรบัเก็บท่ีอยูข่องโปรแกรมในเครื่อง ว่�เร�จะเก็บไวท่ี้ใดโดยปรกติจะอยูท่ี่ C:\Program Files ต�มท่ีขึ้นให้อัตโนมติั แล้วกดปุ่ม Next >

Page 7: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

5. เลือก Components ของโปรแกรมท่ีต้องก�รลงในเครื่องไวใ้ช ้ แล้วกดปุ่ม Next >

Page 8: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

6.ต้องก�รท่ีจะใหไ้อคอนของโปรแกรม R ปร�กฏท่ี start menu หรอืไม ่เลือก No แล้วกดปุ่ม Next >

7.ต้องก�รสร�้ง shortcuts ใน Start Manu ชื่อโฟลเดอร ์R แล้วกดปุ่ม Next >

Page 9: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

8.ก�รสร�้งไอคอนของโปรแกรม R เพิม่ในสว่นท่ีเร�ต้องก�ร แล้วกดปุ่ม Next >

Page 10: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

9. เริม่ก�รติดตัง้โปรแกรมรอสกัครู ่

10. โปรแกรม R สำ�หรบั Window ทำ�ก�รติดตัง้เสรจ็สมบูรณ์ กดปุ่ม Finish

Page 11: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

11. หลังจ�กติดตัง้โปรแกรมเสรจ็จะปร�กฏไอคอนของโปรแกรม R ในหน้� desktop ดังรูป

12. ดับเบิล้คลิก ท่ีไอคอน จะเข้�สูห่น้�โปรแกรมใชง้�น ดังรูป

Page 12: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

รูป : แสดงโปรแกรม R ในสถ�นะพรอ้มใชง้�น บน Window

การใชง้านโปรแกรม R เบื้องต้น

สิง่ท่ีควรทราบ

Page 13: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

ก�รเริม่ต้นใชง้�นโปรแกรม R ด้วย (พมิพ ์R บน Ubuntu และ ดับเบิล้คลิกท่ีไอคอน ของโปรแกรมบน Window )

หลังจ�กโปรแกรมเริม่ทำ�ง�นแล้วจะแสดงพรอมต์ " > "เพื่อแสดงว�่โปรแกรมพรอ้มสำ�หรบัก�รทำ�ง�น

โปรแกรม R มลัีกษณะคำ�สัง่เป็นแบบ case sensitive เชน่อักษรตัวเล็ก กับอักษรตัวใหญ่คว�มหม�ยจะแตกต่�งกัน

เครื่องหม�ย <- คือ ก�รใสค่่�ในตัวแปร ก�ร comment ทำ�ได้โดยก�รใสเ่ครื่องหม�ย # ไวท่ี้หน้�

ขอ้คว�มท่ีจะ comment โดยท่ีขอ้คว�มท่ีอยูใ่นบรรทัดนัน้จะถกู comment จนสิน้สดุบรรทัด

ก�รแบง่คำ�สัง่ออกจ�กกัน แบง่ด้วยเครื่องหม�ย semi-colon(“ ; ”) หรอืก�รขึ้นบรรทัดใหมก่็ได้

ก�รต่อคำ�สงั กรณีท่ีคำ�สัง่มคีว�มย�วม�กกว�่หน่ึงบรรทัด จะต้องทำ�ก�รต่อคำ�สัง่โดยใชเ้ครื่องหม�ย + ในก�รต่อคำ�สัง่

ออกจ�กโปรแกรม R (ใชค้ำ�สัง่ q() บน Ubuntu และ บน Window คลิกท่ีกากบาท )

คำาสัง่ท่ีสอนการใชง้าน

เร�อ�จะลองใช ้คำ�สัง่ demo() เพื่อดตัูวอย่�งก�รทำ�ง�น ก่อนท่ีจะทำ�ง�นจรงิได้ หรอืว�่อ�จจะใชค้ำ�สัง่ help() เพื่อดวูธิกี�รใชง้�น และคำ�สัง่ต่�งๆต้องเขยีนเป็นชื่อฟงัก์ชนัและมเีครื่องหม�ยวงเล็บเสมอ จะมบี�งครัง้ท่ีม ีshortcut เชน่ " ? " ใชแ้ทน help() ใน

Page 14: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

บ�งครัง้ เชน่ ถ้�จะดวู�่ฟงัก์ชนั c() ก็พมิพ ์" help(c )" หรอื " ?c " ก็ได้

ตัวอย�่งของหน้� Help

รูป : แสดงหน้� Help จ�กคำ�สัง่ help() ของโปรแกรม R บน Window

Page 15: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

รูป : แสดงหน้� Help จ�กคำ�สัง่ help() ของโปรแกรม R บน Ubuntu

แพก็เกจ ในโปรแกรม R

โปรแกรม R จะประกอบด้วยแพก็เกจต่�งๆ ซึ่งดชูื่อแพก็เกจท่ีใชไ้ด้ด้วยฟงัก์ชนั library()

แพก็เกจหลักท่ีใชโ้ดยปรยิ�ย คือ base จะประกอบด้วยฟงัก์ชนัหลักๆ ถ้�จะดวูธิใีชฟ้งัก์ชนัต่�งๆของแพก็เกจทำ�ได้โดยใชฟ้งัก์ชนั "help(package=base)" แสดงฟงัก์ชนัต่�งๆท่ีแพก็เกจนัน้เตรยีมไวใ้ห ้แล้ว help(ชื่อฟงัก์ชนั) ต่อไปเพื่อดรู�ยละเอียด

Page 16: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

ก�รใชแ้พก็เกจ

ตัวอย�่ง สมมติว�่จะใชฟ้งัก์ชนั fanny (fuzzy clustering) แยกขอ้มูลเวกเตอรเ์ป็นกลุ่มๆโดยอัตโนมติัต้องรูก้่อนว่� fanny เป็นฟงัก์ชนัในแพก็เกจ cluster จงึต้องเรยีกใชแ้พก็เกจ cluster ก่อนจงึจะใช ้fanny ได้

การจดัการพื้นฐานกับ vectors และ Numbers ก�รดำ�เนินก�รกับ vector ท�งคณิตศ�สตร์

ตัวดำ�เนินก�รท�งคณิตศ�สตรต่์�งๆท่ีสำ�คัญได้แก่ +, -, *, / และท่ีเป็นฟงัก์ชนัได้แก่ log, exp, sin, cos, tan, sqrt

Page 17: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

Logical vectors ตัวดำ�เนินก�รท�งตรรกศ�สตรท่ี์สำ�คัญๆ ได้แก่ <, <= , >

, >= , == , != , & (คือ and) , | (คือ or) สว่นผลลัพธท่ี์ได้ คือ true หรอื false

ฟงัก์ชัน่พื้นฐาน

ฟงัก์ชัน่ c() ใชส้ร�้ง vector หรอื list เชน่

ฟงัก์ชนั scan( ) เป็นฟงัก์ชนัท่ีใชร้บัค่�

ฟงัก์ชนั edit( ) เป็นฟงัก์ชนัท่ีใชส้ำ�หรบัแก้ไข ค่�ของ vector หรอืว�่ list ใด ๆ ท่ีเร�ได้สร�้งไว้

Page 18: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

ฟงัก์ชนั cbind() เป็นก�รเอ�คอลัมน์ม�รวมกัน

จ�กตัวอย�่ง rnorm(3) ตัวแรกจะใหค้่� 0.4116171, 0.2220816, 1.1188849, rnorm(3) ตัวท่ีสองใหค้่� 1.3162124, 0.6748176, 0.6240293. cbind() เอ�ค่�เหล่�นัน้ม�รวมกันในแนวของก�รรวมคอลัมน์

ฟงัก์ชนั det() ไวห้� determinant ของเมตรกิซ์

ฟงัก์ชนั rbind() รวมขอ้มูลเป็นแถวๆ

For data manipulation and printing

ฟงัก์ชนั sort( ) เป็นฟงัก์ชนัท่ีใชเ้รยีงขอ้มูล จ�กน้อยไปม�ก ภ�ยใน vector

ฟงัก์ชนั rm( ) ใช ้ลบ vector

Page 19: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

ฟงัก์ชนั seq( ) ใชบ้วก เลข ต�มจำ�นวนท่ีกำ�หนด เหมอืนกับเป็น อนุกรมเลขคณิต

ฟงัก์ชนั ls( ) ใชส้ำ�หรบั ด ูvector ท่ียงัมอียูใ่นระบบ

mathematical functions

ฟงัก์ชนั sqrt( ) ไวใ้ชห้� squar root ของแต่ละค่�ท่ีอยู่ภ�ยใน vector

ฟงัก์ชนั sin( ) ,cos( ) ,tan( )

ฟงัก์ชนั log( ) ไวใ้ชห้� log ฐ�น 2 และ log10( ) ไวใ้ชห้� log ฐ�น 10

S tatistics

ฟงัก์ชนั mean( ) ใชส้ำ�หรบัห�ค่�เฉล่ียของค่�ภ�ยใน vector ท่ีเร�สร�้งขึ้น

Page 20: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

ฟงัก์ชนั max( ) , min( ) ไวใ้ชห้�ค่� สงูสดุ และตำ่�สดุ ของขอ้มูลภ�ยใน vector

ฟงัก์ชนั length() เพื่อนับจำ�นวน elements ท่ีมอียูใ่น vector

ฟงัก์ชนั summary( ) ไวส้รุปค่�ทัง้หมด

ฟงัก์ชนั var( ) ใชห้�คว�มแปรปรวนของขอ้มูล

ฟงัก์ชนั sd ( ) ไวใ้ชห้�ค่�เบยีงเบนม�ตรฐ�น

Ploting Fungtion

ฟงัก์ชนั plot( ) ไวใ้ชส้ำ�หรบั plot จุดต่�งๆ ลงบน กร�ฟ และส�ม�รถนำ�ไปใชง้�นคู่กับฟงัก์ชนัอ่ืนได้ด้วย เชน่ plot(log(a)) เป็นต้น

ตัวอย�่งของก�รใชฟ้งัก์ชัน่ plot( )

Page 21: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

ตัวอยา่ง

การสรา้งกราฟมาตรฐาน

ก�รคำ�นวณ linear regression เพื่อห�เสน้ตรงคว�มสมัพนัธร์ะหว�่งขอ้มูลสองชุดด้วยวธิ ีleast squares method อย�่งเชน่ก�รเตรยีม calibration curve ในก�รวเิคร�ะหท์�งเคม ีส�ม�รถทำ�ได้ดังตัวอย่�งก�รวดัคว�มเขม้ของส ี(intensity) กับคว�มเขม้ขน้(conc)ของส�รดังน้ี

Page 22: bls.buu.ac.thbls.buu.ac.th/~f52325/Homework_3_9_52/50036429/R Language... · Web viewค ม อการต ดต ง และการใช งานภาษา R R language

นัน่คือเร�ได้สมัประสทิธิตั์วแรกพจน์แรกซึ่งเป็นจุดตัดแกน Y เป็น 1.518 และสมัประสทิธิตั์วท่ีสองคือคว�มชนัของเสน้กร�ฟเป็น 1.930

จ�กนัน้เร�ส�ม�รถ Plot กร�ฟเสน้ตรงน้ีได้ด้วยคำ�สัง่ plot ()เพื่อแสดงจุดของขอ้มูล แล้วใช ้abline() เพื่อแสดงเสน้ตรงจ�กก�รคำ�นวณ จ�กนัน้แสดงสมก�ร y=a+bx ได้โดยก�รสร�้งตัวแปรเชน่ txt แล้วทำ�ก�รแปะขอ้คว�มลงกร�ฟด้วยคำ�สัง่ legend()

รูป : ผลที่ได้จ�กก�รว�ดกร�ฟ

ร�ยละเอียดก�รใชง้�นเพิม่เติมส�ม�รถห�ได้จ�ก http://www.r-project.org/