Tutorial GNU R ringkas untuk operasi asas, fungsi dan struktur data
Pengenalan
Dalam dua artikel terakhir kami telah belajar bagaimana memasang dan menjalankan GNU R pada sistem operasi Linux. Tujuan artikel ini adalah untuk memberikan tutorial rujukan cepat ke GNU R yang berisi pengenalan kepada objek utama bahasa pengaturcaraan R. Kami akan belajar mengenai operasi asas dalam R, fungsi dan pemboleh ubah. Selain itu, kami akan memperkenalkan struktur data R, objek dan kelas.
Operasi Asas di R
Mari kita mulakan dengan contoh matematik yang mudah. Masukkan, misalnya, penambahan tujuh dan tiga ke dalam konsol R anda dan tekan enter, akibatnya kami memperoleh:
> 7+3
[1] 10
Untuk menerangkan dengan lebih terperinci apa yang hanya berlaku dan apa yang istilah yang kita gunakan apabila berjalan R, kita katakan bahawa R jurubahasa dicetak satu objek kembali oleh ungkapan yang dimasukkan ke dalam konsol R . Kita juga harus menyebutkan bahawa R menafsirkan sebarang nombor sebagai vektor. Oleh itu, "[1]" berhampiran hasil kami bermaksud bahawa indeks nilai pertama yang dipaparkan pada baris yang diberikan adalah satu. Ini dapat diperjelaskan lebih lanjut dengan menentukan vektor yang lebih panjang menggunakan fungsi c () . Sebagai contoh:
>c(1:100)
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
[19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
[37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
[55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
[73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
[91] 91 92 93 94 95 96 97 98 99 100
Ia juga memungkinkan untuk melakukan operasi pada vektor. Sebagai contoh, kita dapat menambahkan dua vektor seperti berikut:
> c(1,5,67,0)+c(0,1.5,6.7,3)
[1] 1.0 6.5 73.7 3.0
Perhatikan bahawa ini bermaksud menambahkan elemen yang sesuai dari kedua vektor ini. Sekiranya vektor tidak berukuran sama, maka vektor yang lebih pendek diulang berkali-kali dan jika panjang objek yang lebih panjang bukan gandaan dengan panjang objek yang lebih pendek, mesej amaran dihasilkan:
> c(1,5,8,9)+c(0, 1.4)
[1] 1.0 6.4 8.0 10.4
> c(1,5,8,9)+c(0, 1.4,7)
[1] 1.0 6.4 15.0 9.0
Warning message:
In c(1, 5, 8, 9) + c(0, 1.4, 7) :
longer object length is not a multiple of shorter object length
Lebih-lebih lagi, kita dapat menentukan vektor watak dalam R sebagai:
> c("linuxcareer.com", "R tutorial")
[1] "linuxcareer.com" "R tutorial"
Akhirnya, untuk membuat komen pada kod R kita menggunakan "#". Khususnya,
> # This is a comment in R code
Fungsi dan Pemboleh ubah
Kita juga dapat menentukan atau menggunakan fungsi yang telah ditentukan dalam R. Sebilangan besar fungsi di R dibina dalam bentuk berikut
f(argument1, argument2,...)
Di sini "f" adalah nama fungsi dan "argumen1, argumen2, ..." adalah senarai argumen untuk fungsi. Sebagai contoh, menggunakan beberapa fungsi yang telah ditentukan yang kita perolehi
> sin(pi/2)
[1] 1
> log(3)
[1] 1.098612
Berbeza dengan contoh di atas, beberapa fungsi dalam R adalah dalam bentuk operator seperti penambahan, daya, persamaan, dan lain-lain. Sebagai contoh, pengendali persamaan menghasilkan hasil jenis data Boolean (SALAH / BENAR):
> 4==4
[1] TRUE
Begitu juga seperti dalam bahasa pengaturcaraan lain R menggunakan pemboleh ubah. Sebagai contoh, pengendali tugasan ada di sini "<-" (atau "=")
> x<-c(1,4,7)
> x+x
[1] 2 8 14
Kita sekarang boleh merujuk kepada nilai ketiga vektor "x" oleh
> x[3]
[1] 7
atau hanya mengambil anggota kurang dari tujuh:
> x[x<7]
[1] 1 4
Kita juga dapat, misalnya, mengambil item satu dan tiga sebagai
> x[c(1,3)]
[1] 1 7
Akhirnya, anda boleh menentukan fungsi dalam R dengan hanya menamakannya dan kemudian memanggilnya dengan nama ini sama dengan fungsi build dalam R. Sebagai contoh:
> myfunction<-function(x,y){x+y}
> myfunction(4,5)
[1] 9
Sekiranya anda ingin melihat kod yang sesuai dengan fungsi tertentu, taipkan nama fungsi sebagai
> myfunction
function(x,y){x+y}
Struktur Data
Sebagai contoh pertama struktur data kami menggambarkan bagaimana menentukan matriks (tatasusunan), iaitu vektor multidimensi.
Sebagai contoh, kita dapat mendefinisikan array secara eksplisit seperti berikut
> a<-array(c(1:24),dim=c(6,4))
> a
[,1] [,2] [,3] [,4]
[1,] 1 7 13 19
[2,] 2 8 14 20
[3,] 3 9 15 21
[4,] 4 10 16 22
[5,] 5 11 17 23
[6,] 6 12 18 24
Atau kita boleh membuat vektor terlebih dahulu dan menggunakan fungsi matriks () , iaitu
v<-c(1:24)
> m<-matrix(data=v,nrow=6,ncol=4)
> m
[,1] [,2] [,3] [,4]
[1,] 1 7 13 19
[2,] 2 8 14 20
[3,] 3 9 15 21
[4,] 4 10 16 22
[5,] 5 11 17 23
[6,] 6 12 18 24
Juga dimungkinkan untuk menentukan lebih dari dua dimensi susunan sebagai
> w<-array(v,dim=c(3,2,4))
> w
, , 1
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
, , 2
[,1] [,2]
[1,] 7 10
[2,] 8 11
[3,] 9 12
, , 3
[,1] [,2]
[1,] 13 16
[2,] 14 17
[3,] 15 18
, , 4
[,1] [,2]
[1,] 19 22
[2,] 20 23
[3,] 21 24
Contohnya, merujuk kepada nilai bahagian array adalah lebih mudah
> w[1,1,1]
[1] 1
> w[1:2,1:2,1]
[,1] [,2]
[1,] 1 4
[2,] 2 5
Dengan menghilangkan indeks, kami memperoleh semua elemen dari dimensi tertentu, seperti:
> w[,1,1]
[1] 1 2 3
Mari kita lihat struktur data yang lebih rumit dengan lebih daripada satu jenis data yang mendasari. Jenis data ini dipanggil senarai. Daftar di R mungkin mengandungi pelbagai pilihan objek dari pelbagai jenis data. Kita boleh menamakan setiap komponen dalam senarai, dan oleh itu, kita kemudian dapat merujuk komponen tersebut dengan nama atau lokasinya. Sebagai contoh,
> l<-list(name="linuxcareer.com",visitors="10,000")
> l
$name
[1] "linuxcareer.com"
$visitors
[1] "10,000"
Kita sekarang dapat merujuk komponen daftar dengan nama atau lokasi seperti yang ditunjukkan di bawah
> l$visitors
[1] "10,000"
> l[1]
$name
[1] "linuxcareer.com"
> l[[1]]
[1] "linuxcareer.com"
A frame data adalah senarai yang mengandungi pelbagai vektor dinamakan dengan panjang sama. Strukturnya serupa dengan pangkalan data. Mari kita buat kerangka data yang mengandungi beberapa kadar pertukaran (mata wang lain / USD):
> currency<-c("Kroner", "Canadian $", "Hong Kong $", "Rupees")
> date_090812<-c(6.0611,0.9923,7.7556,55.17)
> date_100812<-c(6.0514,0.9917,7.7569,55.18)
> exchangerate<-data.frame(currency,date_090812,date_100812)
> exchangerate
currency date_090812 date_100812
1 Kroner 6.0611 6.0514
2 Canadian $ 0.9923 0.9917
3 Hong Kong $ 7.7556 7.7569
4 Rupees 55.1700 55.1800
Kita sekarang boleh merujuk pada elemen tertentu dari kerangka data dengan namanya. Sebagai contoh, kita mungkin perlu menentukan nilai tukar Hong Kong $ / USD pada 090812. Kita dapat mencapainya dengan cara berikut
>exchangerate$date_090812[exchangerate$currency=="Hong Kong $"]
[1] 7.7556
Objek dan Kelas
R adalah bahasa pengaturcaraan berorientasikan objek. Ini bermaksud bahawa setiap objek dalam R mempunyai jenis dan merupakan anggota kelas. Untuk mengenal pasti kelas untuk objek tertentu, kami menggunakan kelas fungsi () seperti dalam contoh berikut:
> class(exchangerate)
[1] "data.frame"
> class(myfunction)
[1] "function"
> class(1.07)
[1] "numeric"
Dalam R tidak semua fungsi dihubungkan dengan kelas tertentu seperti dalam bahasa pengaturcaraan berorientasikan objek lain. Walau bagaimanapun, terdapat beberapa fungsi yang berkait rapat dengan kelas tertentu. Ini dipanggil kaedah . Dalam kaedah R disebut fungsi generik berkongsi nama yang sama untuk kelas yang berbeza. Ini membolehkan fungsi generik seperti itu diterapkan pada objek dari pelbagai jenis. Sebagai contoh, "-" adalah fungsi generik untuk mengurangkan objek. Anda boleh mengurangkan nombor tetapi anda juga boleh mengurangkan nombor dari tarikh seperti di bawah:
> 4-2
[1] 2
> as.Date("2012-09-08")-2
[1] "2012-09-06"
Kesimpulannya
Tujuan tutorial asas R ini adalah untuk memperkenalkan bahasa pengaturcaraan R kepada pemula, yang tidak pernah menggunakan R sebelumnya. Tutorial ini juga berguna sebagai tutorial rujukan bagi mereka yang akan mempelajari aplikasi perisian statistik R yang lebih maju. Dalam artikel seterusnya kita akan menerangkan bagaimana menentukan model statistik dan melakukan analisis statistik asas dengan R. Ini akan digabungkan dengan ilustrasi kemungkinan grafik perisian R.
Siri tutorial GNU R:
Bahagian I: Tutorial Pengenalan GNU R:
- Pengenalan GNU R pada Sistem Operasi Linux
- Menjalankan GNU R pada Sistem Operasi Linux
- Tutorial GNU R ringkas untuk operasi asas, fungsi dan struktur data
- Tutorial GNU R ringkas untuk model statistik dan grafik
- Cara memasang dan menggunakan pakej di GNU R
- Membangun pakej asas di GNU R
Bahagian II: Bahasa GNU R: