Upload
sauwanit-ratanaruamkarn
View
94
Download
6
Embed Size (px)
Citation preview
4251 3
0011 0010 1010 1101 0001 0100 1011
การวิ�เคราะห์ข้�อมู�ลโดยใช้�โปรแกรมู R (Data Analysis Using R Programming
Language)By
ดร. เสาวณิ�ต ร�ตนรวมการ สาขาว�ชาคณิ�ตศาสตร�และสถิ�ต�ภาคว�ชาว�ทยาศาสตร�พื้��นฐาน
คณิะว�ทยาศาสตร�และเทคโนโลย มหาว�ทยาล�ยราชภ�ฏส#ร�นทร�
[email protected], March 8, 2015
4251 3
0011 0010 1010 1101 0001 0100 1011
Outline• Introduction to R• Source แหล$ง download R• ส$วนประกอบของ R• การอ$านค$าข)อม*ลเข)ามาในโปรแกรม R• ร*ปแบบการเก,บข)อม*ลใน R และ แป-นล�ดท.าให)ไม$ต)อง
พื้�มพื้�ซ้ำ.�าบ$อยๆ• function เบ��องต)น เช$น การส�2งเร ยกใช)ข)อม*ล• Matrix, Inverse Matrix, Determinant• eigen value, eigen vector• แบบฝึ4กห�ด
4251 3
0011 0010 1010 1101 0001 0100 1011
Introduction to R• โปรแกรมภาษาท 2น�ยมใช)ก�นเป6นอย$างมากในทางสถิ�ต�
ภาษาหน72ง • ดาวน�โหลดได)ฟร ภายใต)การด*แลขององค�กรท 2ไม$
แสวงหาก.าไร ช�2อ R Foundation • open source • R พื้�ฒนาข7�นคร��งแรกเม�2อป: ค.ศ. 1990s โดย Robert
Gentleman และ Ross Ihaka มหาว�ทยาล�ยโอคแลนด� ประเทศน�วซ้ำ แลนด�
# เป6นไปได)ท 2โปรแกรม R จะมาจากช�2อของ Robert และ Ross
• โปรแกรมภาษา R เป6นส$วนท 2ม การพื้�ฒนามาจากโปรแกรมภาษา S
4251 3
0011 0010 1010 1101 0001 0100 1011
R You Ready for R?
Statistics Adjunct professor Robert Gentleman who helped developed the R programming language. (Credit: Stuart Isett for The New York Times)
4251 3
0011 0010 1010 1101 0001 0100 1011
4251 3
0011 0010 1010 1101 0001 0100 1011
source
• ดาวน�โลดได)ฟร จาก http://cran.r-project.org/
• เล�อก Download R ร# $นท 2ท�นสม�ยท 2ส#ด • ค�อ R-3.1.2.tar.gz
(52 megabytes, 32/64 bit)• ค*$ม�อการใช)งานเบ��องต)นhttp://cran.r-project.org/doc/manuals/r-
release/R-intro.html
4251 3
0011 0010 1010 1101 0001 0100 1011
Download R 3.1.2 for Windows Double click ท 2น 2
4251 3
0011 0010 1010 1101 0001 0100 1011
4251 3
0011 0010 1010 1101 0001 0100 1011
ส$วนประกอบของ R• R Gui ประกอบด)วย 2 ว�นโดส�ย$อยค�อ
–R Console ใช)ในการเข ยนค.าส�2งและแสดงผลล�พื้ธ์�
–R graph แสดงกราฟต$างๆ
4251 3
0011 0010 1010 1101 0001 0100 1011
4251 3
0011 0010 1010 1101 0001 0100 1011
How to read data? การอ�านค�าข้�อมู�ลเข้�ามูาในโปรแกรมู R
การอ�านค�าข้�อมู�ลโดยใช้�ค�าสั่��ง read-table (Using read-table to read files)
อ$านจาก external HD ต�วอย$างเช$น>test<- read.table("g:/drug.dat",header=T)
>test<- read.table("g:/grades.txt",header=T)
การอ$านค$าข)อม*ลช#ดgrades.txt แล)วน.าไปเก,บไว)ในfileช�2อtest ถิ)าfileเด�มม ช�2อต�วแปรให)อ$านเข)ามาด)วย
4251 3
0011 0010 1010 1101 0001 0100 1011
ชน�ดของข)อม*ลท 2ใช)ในโปรแกรม R• Numeric เป6นต�วเลข สามารถิน.ามาค.านวณิ
ได)• Character เป6นข)อม*ลท 2เป6นต�วอ�กษรคล)าย
ก�บค$า string ในโปรแกรม SPSS• Logical เป6นข)อม*ลท 2ม ค$าเป6นจร�งหร�อเท,จ โดย
R จะให)ส�ญล�กษณิ� T หร�อ True แทน ข)อม*ลท 2ม ค$าเป6นจร�ง และ F หร�อ False แทนข)อม*ลท 2ม ค$าเป6นเท,จ
4251 3
0011 0010 1010 1101 0001 0100 1011
ร*ปแบบการเก,บข)อม*ลใน R• Vector ข)อม*ล• Matrices• Arrays (arrays ซ้ำ72งเป6น matrices เฉพื้าะ เป6นท 2เก,บรวมเคร�2องม�อ–
กลางขนาดใหญ$เพื้�2อการว�เคราะห�ข)อม*ล - ภาพื้ส.าหร�บการว�เคราะห�ข)อม*ลจะแสดงผลโดยตรงในคอมพื้�วเตอร�หร�อใน hard copy
• - เป6นภาษาพื้�ฒนาได)ง$ายและม ประส�ทธ์�ภาพื้ )
• data frame
หมายเหต# ในโปรแกรม R ต�วอ�กษรใหญ$และเล,กม ความหมายแตกต$างก�น
น�2นค�อ A จะแตกต$างจาก a
เราสามารสร)างช#ดข)อม*ลได)อย$างน)อย 26*2 ต�วอ�กษรภาษาอ�งกฤษ
4251 3
0011 0010 1010 1101 0001 0100 1011
แป-นล�ดท.าให)ไม$ต)องพื้�มพื้�ซ้ำ.�าบ$อยๆ
4251 3
0011 0010 1010 1101 0001 0100 1011
function เบ��องต)น• help(“mean”)• ?mean• attributes()• ls() # list object ว$าม การเก,บช#ดข)อม*ลอะไร
บ)างในworkspace• q() #quitจากโปรแกรม R โดย R จะถิามว$า
ต)องการsave งานหร�อไม$เคร�2องหมาย # เป6นการเข ยนโน)ตให)เราท.าความเข)าใจได)ง$าย เวลามาอ$านท หล�ง R จะไม$อ$านข)อความหล�ง ”#”
4251 3
0011 0010 1010 1101 0001 0100 1011
การส�2งเร ยกใช)ข)อม*ล• attach(ช�2อช#ดข)อม*ล) # การระบ#ช�2อช#ดข)อม*ลท 2จะ
ใช)• x$mean #เป6นการเร ยกผลล�พื้ธ์�ของข)อม*ลช#ดx
ต�วแปรmean มาแสดง• การให)ค$าต�วแปร ใช)เคร�2องหมาย “<-” หร�อ “=“
ต�วอย$างเช$น> x<-c(4,7,6,3) หร�อ> x=c(4,7,6,3) ก,ได)
4251 3
0011 0010 1010 1101 0001 0100 1011
ตั�วิอย�าง1 .จงสั่ร�างเวิคเตัอร x ที่#�ประกอบด�วิยสั่มูาช้�ก 4,
7, 6, 3> x<-c(4,7,6,3)> x[1] 4 7 6 3
2. จากเวิคเตัอร x สั่ร�างข้%&นในข้�อ 1. จงสั่ร�างเมูตัร�กซ์ y ข้นาด 2x2> y<-matrix(x,2,2)> y [,1] [,2][1,] 4 6[2,] 7 3
4251 3
0011 0010 1010 1101 0001 0100 1011
3. จงห์าอ�นเวิอรสั่ข้องเมูตัร�กซ์ y และให์�ช้(�อวิ�าเมูตัร�กซ์ z> z<-solve(y)> z [,1] [,2][1,] -0.1000000 0.2000000[2,] 0.2333333 -0.1333333
4251 3
0011 0010 1010 1101 0001 0100 1011
4, จงแสั่ดงให์�เห์)นวิ�า y*z = z*y = identity matrix> y%*%z [,1] [,2][1,] 1.000000e+00 -5.551115e-17[2,] -5.551115e-17 1.000000e+00> round(y%*%z) #ท.าให)จ#ดทศน�ยมเป6นจ.านวนเต,ม# [,1] [,2][1,] 1 0[2,] 0 1
> z%*%y [,1] [,2][1,] 1.000000e+00 -2.775558e-17[2,] 2.775558e-17 1.000000e+00> round(z%*%y) [,1] [,2][1,] 1 0[2,] 0 1
4251 3
0011 0010 1010 1101 0001 0100 1011• > A<-c(12, 8, 9, 15, 4, 1, 5, 8, 3)• > A• [1] 12 8 9 15 4 1 5 8 3
6.จากเวคเตอร� A สร)างข7�นในข)อ 5. จงสร)างเมตร�กซ้ำ� B ขนาด 3x3
> B<-matrix(A,3,3)> B [,1] [,2] [,3][1,] 12 15 5[2,] 8 4 8[3,] 9 1 3
5. จงสร)างเวคเตอร� A ท 2ประกอบด)วยสมาช�ก 12, 8, 9, 15, 4, 1, 5, 8, 3
4251 3
0011 0010 1010 1101 0001 0100 1011
7.จงหาอ�นเวอร�สของเมตร�กซ้ำ� B และให)ช�2อว$าเมตร�กซ้ำ� C
• > C<-solve(B)• > C• [,1] [,2] [,3]• [1,] 0.006369427 -0.06369427 0.15923567• [2,] 0.076433121 -0.01433121 -0.08917197• [3,] -0.044585987 0.19585987 -0.11464968
4251 3
0011 0010 1010 1101 0001 0100 1011> round(B%*%C) [,1] [,2] [,3][1,] 1 0 0[2,] 0 1 0[3,] 0 0 1> round(C%*%B) [,1] [,2] [,3][1,] 1 0 0[2,] 0 1 0[3,] 0 0 1
8. จงแสดงให)เห,นว$า B*C = C*B = identity matrix
4251 3
0011 0010 1010 1101 0001 0100 1011
การหา eigenvalues และ eigenvectors
1
e1
4251 3
0011 0010 1010 1101 0001 0100 1011
ตรวจสอบผลล�พื้ธ์� ของ transpose(e1)*e1
ผลล�พื้ธ์�เป6น 1
4251 3
0011 0010 1010 1101 0001 0100 1011
References
• Krause A and Olson M. (1997). The Basics of S and S-Plus. Springer-Verlag. New York.
• Gentle, James E. (2002). Elements of Computational Statistics.
Springer-Verlag. New York.
4251 3
0011 0010 1010 1101 0001 0100 1011
The End