>> [MUSIC PLAYING]
DUSTIN TRAN: Hi.
Dustin Namaku.
Jadi saya akan menyajikan Analisis data dalam R.
Hanya sedikit tentang diriku sendiri.
Saat ini saya seorang mahasiswa pascasarjana di Teknik dan Ilmu Terapan.
Saya mempelajari sebuah persimpangan pembelajaran mesin dan statistik
jadi Analisis Data dalam R adalah benar-benar mendasar untuk apa
Saya lakukan setiap hari.
>> Dan R terutama baik untuk analisis data
karena itu sangat baik untuk prototyping.
Dan biasanya, ketika Anda sedang melakukan semacam analisis data, banyak masalah
akan kognitif.
Dan Anda hanya ingin memiliki beberapa bahasa yang benar-benar baik yang
hanya baik untuk melakukan built-in fungsi, sebagai lawan
untuk harus berurusan dengan hal-hal tingkat rendah.
Jadi pada awalnya, aku hanya akan untuk memperkenalkan apa yang R, mengapa
Anda ingin menggunakannya, dan kemudian pergi ke beberapa demo,
dan hanya pergi dari sana.
>> Jadi apa yang R?
R hanya bahasa dikembangkan untuk komputasi statistik
dan visualisasi.
Jadi apa artinya ini adalah bahwa itu adalah bahasa yang sangat baik
untuk setiap jenis hal yang berhubungan dengan ketidakpastian atau visualisasi data.
Jadi Anda memiliki semua ini distribusi probabilitas.
Ada akan menjadi built-in fungsi.
Anda juga akan memiliki baik merencanakan paket.
>> Python adalah hal lain bersaing bahasa untuk data.
Dan satu hal yang saya menemukan bahwa R jauh lebih baik di adalah visualisasi.
Jadi apa yang akan Anda lihat di demo sebagai baik hanya bahasa yang sangat intuitif
yang hanya bekerja dengan sangat baik.
Hal ini juga gratis dan open source, seperti adalah bahasa lain baik saya kira.
>> Dan di sini, sekelompok hanya kata kunci dilemparkan pada Anda.
Ini dinamis, artinya jika Anda memiliki jenis tertentu ditugaskan ke sebuah obyek
daripada hanya akan mengubahnya dengan cepat.
Ini malas jadi pintar tentang bagaimana melakukan kalkulasi.
Fungsional yang berarti itu benar-benar dapat beroperasi didasarkan dari fungsi sehingga anything--
apapun manipulasi Anda lakukan, itu akan didasarkan dari fungsi.
>> Operator biner Jadi, misalnya, adalah fungsi hanya inheren.
Dan segala sesuatu yang Anda akan lakukan adalah
akan lari fungsi itu sendiri.
Dan kemudian berorientasi objek juga.
>> Jadi di sini adalah plot XKCD.
Bukan hanya karena saya merasa seperti XKCD adalah dasar apapun
presentasi, tetapi karena Saya merasa seperti ini benar-benar
palu titik bahwa banyak saat Anda melakukan beberapa jenis data
analisis, masalahnya bukan begitu banyak seberapa cepat berjalan,
tapi berapa lama itu akan membawa Anda untuk program tugas.
Jadi di sini hanya menganalisa apakah strategi atau b lebih efisien.
Hal ini akan menjadi sesuatu yang Anda
akan menghadapi banyak dengan di semacam bahasa tingkat rendah
di mana Anda sedang berhadapan dengan kesalahan seg, alokasi memori, inisialisasi,
bahkan membuat fungsi built-in.
Dan hal ini semua ditangani sangat, sangat elegan di R.
>> Jadi hanya untuk palu ini titik, hambatan terbesar
akan menjadi kognitif.
Jadi analisis data adalah masalah yang sangat sulit.
Apakah yang Anda lakukan belajar mesin atau Anda
melakukan hal semacam eksplorasi data dasar,
Anda tidak ingin memiliki untuk mengambil dokumen
dan kemudian kompilasi sesuatu setiap kali Anda
ingin melihat apa yang tampak seperti kolom, apa entri tertentu dalam matriks
seperti.
Jadi Anda hanya ingin memiliki beberapa antarmuka yang benar-benar bagus
Anda dapat menjalankan fungsi sederhana bahwa indeks untuk apapun
Anda ingin dan hanya menjalankannya dari sana.
Dan Anda perlu domain bahasa khusus untuk ini.
Dan R benar-benar akan membantu Anda menentukan masalah dan menyelesaikannya dengan cara ini.
>> Jadi di sini adalah plot menunjukkan pemrograman popularitas R seperti itu hilang dari waktu ke waktu.
Jadi seperti yang Anda lihat, seperti 2013 atau sehingga hanya diledakkan sangat.
Dan ini telah hanya karena itu tren besar di industri teknologi
data tentang besar.
Juga, bukan hanya teknologi industri, tapi benar-benar
setiap itu-- industri karena banyak industri
adalah semacam mendasar untuk mencoba untuk memecahkan masalah ini.
Dan biasanya, Anda dapat memiliki beberapa baik cara untuk mengukur masalah ini
atau bahkan mendefinisikan mereka atau pemecahan dengan menggunakan data.
Jadi saya pikir sekarang adalah R-11 yang paling populer di bahasa TIOBE
dan itu sudah berkembang sejak saat itu.
>> Jadi, inilah beberapa lagi fitur R. Memiliki
sejumlah besar paket dan untuk semua hal yang berbeda.
Jadi setiap kali Anda memiliki Masalah tertentu, sebagian besar
waktu R akan memiliki fungsi untuk Anda.
Jadi apakah Anda ingin membangun semacam mesin
algoritma pembelajaran yang disebut Hutan acak atau Pohon Keputusan,
atau bahkan mencoba untuk mengambil rata-rata fungsi atau barang-barang ini,
R akan memiliki.
>> Dan jika Anda melakukannya Anda pedulikan optimasi, satu hal yang umum
adalah bahwa setelah Anda selesai prototyping semacam bahasa tingkat tinggi,
Anda akan membuang itu in-- Anda hanya akan pelabuhan yang lebih
beberapa bahasa tingkat rendah.
Apa yang baik tentang R adalah bahwa sekali Anda dilakukan prototipe itu, Anda dapat menjalankan C ++,
atau Fortran, atau salah satu dari yang tingkat yang lebih rendah langsung ke R.
Jadi itulah yang benar-benar Fitur keren tentang R,
jika Anda benar-benar peduli tentang titik optimasi.
>> Dan itu juga benar-benar baik untuk visualisasi web.
Jadi D3.js, misalnya, adalah Saya kira seminar lain
bahwa kita disajikan hari ini.
Dan ini benar-benar mengagumkan untuk melakukan visualisasi interaktif.
Dan D3.js mengasumsikan bahwa Anda memiliki semacam data yang akan diplot
dan R adalah cara yang bagus untuk bisa melakukan analisis data sebelum Anda ekspor
ke D3.js atau bahkan hanya menjalankan D3.js perintah ke R itu sendiri,
serta semua ini perpustakaan lain juga.
>> Jadi itu hanya pengenalan apa yang R dan mengapa Anda mungkin menggunakannya.
Jadi mudah-mudahan, saya sudah yakin sesuatu
tentang hanya mencoba untuk melihat bagaimana rasanya.
Jadi aku akan pergi ke depan dan pergi melalui beberapa dasar-dasar tentang obyek R
dan apa yang Anda benar-benar bisa melakukannya.
>> Jadi di sini hanya sekelompok perintah matematika.
Jadi mengatakan you're-- Anda ingin membangun sendiri bahasa dan Anda hanya ingin
memiliki banyak alat yang berbeda.
Apapun operasi Anda berpikir Anda lebih ingin cukup banyak akan berada di R.
>> Jadi di sini adalah 2 ditambah 2.
Berikut adalah 2 kali pi.
R memiliki banyak built-in konstanta Anda sering akan menggunakan seperti pi, e.
>> Dan kemudian, inilah 7 plus runif, sehingga runif dari 1.
Ini adalah fungsi yang menghasilkan satu seragam acak dari 0 ke 1.
Dan kemudian ada 3 sampai kekuatan 4.
Ada akar kuadrat.
>> Ada log.
Jadi log akan melakukan basis eksponensial dengan sendirinya.
Dan kemudian, jika Anda menetapkan dasar, maka Anda dapat melakukan dasar apapun yang Anda inginkan.
Dan maka di sini adalah beberapa perintah lainnya.
Jadi Anda memiliki 23 mod 2.
Maka Anda memiliki sisanya.
Maka Anda memiliki ilmiah notasi jika Anda juga
ingin melakukan lebih dan hal yang lebih rumit.
>> Jadi di sini adalah tugas.
Tugas sangat khas di R dilakukan dengan panah
jadi kurang dari dan kemudian tanda hubung.
Jadi di sini aku hanya menugaskan 3 ke val variabel.
>> Dan kemudian aku mencetak val dan kemudian mencetak tiga.
Secara default dalam R interpreter, itu akan mencetak hal-hal untuk Anda
sehingga Anda tidak harus menentukan mencetak val sebuah setiap kali Anda ingin mencetak sesuatu.
Anda hanya dapat melakukan val dan maka akan melakukannya untuk Anda.
>> Juga, Anda dapat menggunakan sederajat teknis sebagai operator penugasan.
Ada sedikit seluk-beluk antara menggunakan panah
operator dan equals Operator untuk tugas.
Kebanyakan oleh konvensi, semua orang hanya akan menggunakan operator panah.
>> Dan di sini, saya menugaskan ini notasi miring disebut 1 usus 6.
Ini menghasilkan vektor dari 1 sampai 6.
Dan ini benar-benar bagus karena kemudian Anda hanya menetapkan vektor ke val
dan yang bekerja dengan sendirinya.
>> Jadi ini sudah terjadi dari single-- data yang sangat intuitif
struktur hanya ganda beberapa jenis tipe menjadi vektor
dan yang akan mengumpulkan semua nilai-nilai skalar untuk Anda.
Jadi setelah pergi dari skalar, Anda memiliki R objek dan ini adalah vektor.
Vektor A adalah apapun koleksi dari jenis yang sama.
Jadi di sini adalah sekelompok vektor.
>> Jadi ini adalah numerik.
Numeric adalah cara R mengatakan ganda.
Dan secara default, setiap Nomor akan menjadi ganda.
>> Jadi jika Anda memiliki c 1,1, 3, negatif 5.7, c adalah fungsi.
Ini merangkai ketiga angka ke dalam vektor.
Dan ini akan be-- jadi jika Anda melihat 3 dengan sendirinya,
biasanya Anda akan menganggap bahwa ini adalah seperti integer,
tetapi karena semua vektor adalah tipe yang sama,
ini adalah vektor ganda atau numerik dalam kasus ini.
>> rnorm adalah fungsi yang menghasilkan standar variables-- yang normal
atau standar nilai normal.
Dan aku menetapkan dua dari mereka.
Jadi aku melakukan rnorm 2, menetapkan bahwa untuk devs, dan kemudian aku mencetak devs.
Jadi ini hanya dua nilai normal acak.
>> Dan kemudian int jika Anda Anda peduli tentang bilangan bulat.
Jadi ini hanya tentang memori alokasi dan menyimpan ukuran memori.
Jadi, Anda harus menambahkan nomor dengan modal L.
>> Secara umum, ini adalah Notasi bersejarah R
untuk sesuatu yang disebut integer panjang.
Jadi sebagian besar waktu, Anda akan akan berhadapan dengan ganda.
Dan jika Anda pernah nantinya akan pada mengoptimalkan kode Anda,
Anda hanya dapat menambahkan L's setelah atau selama itu
jika Anda seperti precognitive tentang apa Anda akan melakukan variabel-variabel ini.
>> Jadi di sini adalah vektor karakter.
Jadi, sekali lagi, saya concatenating tiga senar saat ini.
Perhatikan bahwa string ganda dan string tunggal adalah sama dalam R.
Jadi saya memiliki arthur dan marvin dan sebagainya ketika saya mencetak keluar, semua dari mereka
akan menunjukkan string ganda.
Dan jika Anda juga ingin menyertakan string ganda atau tunggal
dalam karakter Anda, maka Anda dapat baik alternatif string Anda.
>> Jadi marvin untuk yang Unsur kedua, ini adalah
akan show-- Anda hanya string ganda
dan kemudian string tunggal jadi ini bolak-balik.
Jika tidak, jika Anda ingin menggunakan ganda Operator string dalam string ganda
ketika Anda menyatakan itu, maka Anda hanya menggunakan operator melarikan diri.
Jadi Anda melakukan backslash string yang ganda.
>> Dan akhirnya, kami juga memiliki vektor logis.
Jadi logical-- begitu BENAR dan SALAH, dan mereka
akan menjadi huruf kapital semua.
Kemudian, sekali lagi, saya concatenating mereka dan kemudian menempatkan mereka untuk bools.
Jadi bools akan menunjukkan Anda TRUE, FALSE, dan BENAR.
>> Jadi di sini adalah pengindeksan vectorized.
Jadi pada awalnya, saya saya mengambil function-- sebuah
ini disebut sequence-- sebuah urut 2 sampai 12.
Dan aku mengambil urutan oleh 2.
Jadi itu akan melakukan 2, 4, 6, 8, 10 dan 12.
Dan kemudian, aku pengindeksan untuk mendapatkan elemen ketiga.
>> Jadi satu hal yang perlu diingat adalah bahwa R indeks dengan memulai dari 1.
Jadi vals 3 akan memberikan Anda elemen ketiga.
Ini adalah semacam berbeda dari yang lain bahasa mana dimulai dari nol.
Jadi dalam C atau C ++, misalnya, Anda akan mendapatkan elemen keempat.
>> Dan di sini adalah vals dari 3 sampai 5.
Jadi satu hal yang benar-benar keren adalah bahwa Anda
dapat menghasilkan variabel sementara dalam dan kemudian hanya menggunakannya dengan cepat.
Jadi di sini adalah 3 sampai 5.
Jadi aku menghasilkan vektor 3, 4, dan 5, dan kemudian
Saya mengindeks untuk mendapatkan ketiga, keempat, dan kelima elemen.
>> Jadi sama, Anda dapat abstrak ini untuk hanya melakukan
apapun vektor yang memberikan pengindeksan.
Jadi di sini adalah vals dan kemudian elemen pertama, ketiga, dan keenam.
Dan kemudian, jika Anda ingin untuk melakukan pelengkap,
sehingga Anda hanya melakukan minus setelah itu dan itu akan
memberikan segala sesuatu yang bukan pertama, ketiga, atau elemen keenam.
Jadi ini akan menjadi 4, 8, dan 10.
>> Dan jika Anda ingin mendapatkan bahkan lebih maju,
Anda dapat menggabungkan vektor Boolean.
Jadi indeks ini akan memberikan Anda vektor Boolean ini panjang 6.
Jadi rep BENAR koma 3.
Ini akan mengulangi BENAR tiga kali.
Jadi ini akan memberi Anda vektor BENAR, BENAR, BENAR.
>> rep SALAH 4-- ini akan memberi Anda vektor SALAH, SALAH, SALAH, SALAH.
Dan kemudian c akan menggabungkan kedua Booleans bersama-sama.
Jadi Anda akan mendapatkan tiga Trues dan kemudian empat kesalahan-kesalahan.
>> Sehingga ketika Anda vals indeks, Anda akan mendapatkan BENAR, BENAR, BENAR.
Sehingga akan mengatakan ya, Saya ingin tiga elemen.
Dan kemudian SALAH, SALAH, SALAH, SALAH akan
untuk mengatakan tidak, saya tidak ingin unsur-unsur sehingga tidak akan mengembalikannya.
>> Dan saya kira sebenarnya ada salah ketik di sini karena ini mengatakan berulang BENAR 3
dan ulangi SALAH 4, dan teknis, Anda hanya memiliki enam elemen sehingga mengulang PALSU,
harus ulangi SALAH 3.
Saya pikir R juga cukup seperti cerdas bahwa jika Anda hanya menentukan 4 di sini, maka
bahkan tidak akan error keluar.
Ini hanya akan memberikan nilai ini.
Jadi itu hanya akan mengabaikan itu SALAH keempat.
>> Jadi di sini adalah tugas vectorized.
Jadi set.seed-- ini hanya menetapkan benih untuk nomor pseudorandom.
Jadi aku menetapkan benih untuk 42, yang berarti bahwa jika saya menghasilkan
tiga acak yang normal nilai-nilai, dan kemudian jika Anda
menjalankan set.seed sendiri komputer menggunakan nilai yang sama 42,
maka Anda juga mendapatkan sama tiga normals acak.
>> Jadi ini benar-benar baik untuk reproduktifitas.
Biasanya, ketika Anda melakukan beberapa semacam analisis ilmiah,
Anda ingin mengatur benih.
Dengan cara itu ilmuwan lain bisa saja mereproduksi kode yang sama persis Anda sudah
dilakukan karena mereka akan memiliki tepat variabel acak yang sama itu-- atau acak
nilai-nilai yang telah diambil keluar juga.
>> Dan tugas vectorized di sini adalah menunjukkan vals 1 sampai 2.
Sehingga dibutuhkan dua elemen pertama dari vals dan kemudian memberikan mereka untuk 0.
Dan kemudian, Anda bisa juga hanya melakukan Hal yang sama dengan Booleans.
>> Jadi vals tidak sama dengan 0-- kehendak ini memberikan SALAH vektor, SALAH, BENAR
dalam hal ini.
Dan kemudian, itu akan mengatakan apa-apa mereka indeks yang BENAR,
maka itu akan menetapkan bahwa untuk 5.
Jadi dibutuhkan elemen ketiga di sini dan kemudian memberikan ke 5.
>> Dan ini benar-benar baik dibandingkan dengan bahasa tingkat rendah
di mana Anda harus menggunakan untuk loop untuk melakukan semua hal vectorized ini
karena itu hanya sangat intuitif dan itu adalah satu satu-kapal.
Dan apa tentang besar notasi vectorized
adalah bahwa dalam R, ini adalah semacam built-in sehingga mereka hampir secepat
seperti melakukan dalam bahasa tingkat rendah seperti lawan untuk membuat untuk loop dalam R
dan kemudian setelah itu lakukan pengindeksan dinamis itu sendiri.
Dan itu akan menjadi lebih lambat dari melakukan hal semacam ini vectorized
di mana ia dapat melakukannya secara paralel, di mana itu melakukannya dalam threading dasarnya.
>> Jadi di sini adalah Vectorized operasi.
Jadi aku menghasilkan nilai 1 sampai 3, menugaskan bahwa untuk vec1, 3 sampai 5, vec2,
menambahkan mereka bersama-sama.
Ia menambahkan mereka komponen-bijaksana sehingga itu 1 ditambah 3, 2 ditambah 4, dan seterusnya.
>> vec1 kali vec2.
Ini mengalikan dua nilai komponen yang bijaksana.
Jadi itu 1 kali 3, 2 kali 4, dan kemudian 3 kali 5.
>> Dan kemudian, sama Anda dapat juga melakukan comparisons-- perbandingan logis.
Jadi itu SALAH SALAH BENAR dalam hal ini Kasus karena 1 tidak lebih besar dari 3,
2 tidak lebih besar dari 4.
Ini, saya kira, ketik lagi, 3 pasti tidak lebih besar dari 5.
Ya.
Dan Anda hanya bisa melakukan semua operasi-operasi sederhana
karena mereka mewarisi dari kelas sendiri.
>> Jadi itu hanya vektor.
Dan itulah semacam yang paling mendasar Objek R karena diberikan vektor,
Anda dapat membangun objek yang lebih maju.
>> Jadi, inilah matriks.
Ini pada dasarnya adalah abstraksi apa matriks itu sendiri.
Jadi dalam hal ini, itu tiga berbeda vektor, di mana masing-masing adalah kolom,
atau Anda dapat mempertimbangkan karena setiap satu baris.
>> Jadi aku menyimpan matriks dari 1 sampai 9 dan kemudian aku menetapkan 3 baris.
Jadi 1 sampai 9 akan memberikan vector 1, 2, 3, 4, 5, 6, dan semua jalan ke 9.
>> Satu hal yang perlu juga diingat adalah bahwa R toko nilai dalam format kolom-besar.
Jadi dengan kata lain, ketika Anda melihat 1 9, itu akan menyimpan them--
itu akan menjadi 1, 2, 3 di kolom pertama,
dan kemudian akan melakukan 4, 5, 6 pada kolom kedua,
dan kemudian 7, 8, 9 di kolom ketiga.
>> Dan berikut adalah beberapa lainnya fungsi umum yang dapat Anda gunakan.
Jadi tikar redup, ini akan memberi Anda dimensi matriks.
Itu akan kembali Anda vektor dimensi.
Jadi dalam hal ini, karena matriks kami adalah 3 dengan 3,
itu akan memberi Anda vektor numerik yang 3 3.
>> Dan di sini hanya menunjukkan perkalian matriks.
Jadi biasanya, jika Anda hanya melakukan asterisk-- sehingga tikar tanda mat--
ini akan menjadi operasi komponen-bijaksana
atau apa yang disebut produk Hadamard.
Jadi itu akan melakukan setiap elemen komponen-bijaksana.
Namun, jika Anda ingin matriks multiplication--
sehingga mengalikan kali baris pertama kolom pertama matriks kedua itu
dan on-- Anda akan menggunakan Operasi persen ini.
>> Dan t tikar hanya sebuah Operasi untuk transpos.
Jadi saya katakan mengambil transpose di matriks, kalikan dengan matriks
itu sendiri.
Dan kemudian itu akan kembali kepada Anda 3 lain
oleh 3 matriks menunjukkan produk yang anda inginkan.
>> Dan jadi itu matriks.
Berikut adalah apa yang disebut data frame.
Sebuah frame data yang dapat Anda pikirkan sebagai matriks, tapi setiap kolom itu sendiri
akan menjadi jenis yang berbeda.
>> Jadi apa yang benar-benar keren tentang data frame adalah bahwa dalam analisis data itu sendiri,
Anda akan memiliki semua ini data yang heterogen dan semua ini benar-benar
hal berantakan di mana masing-masing kolom sendiri bisa dari berbagai jenis.
Jadi di sini saya katakan membuat frame data, melakukan int dari 1 hingga 3,
dan kemudian juga memiliki vektor karakter.
Jadi saya dapat mengindeks melalui masing-masing kolom ini
dan kemudian saya akan mendapatkan nilai-nilai sendiri.
Dan Anda juga bisa melakukan semacam operasi pada frame data.
Dan sebagian besar waktu ketika Anda melakukan analisis data atau semacam
dari preprocessing, Anda akan bekerja dengan struktur data ini
dimana setiap kolom akan untuk menjadi jenis yang berbeda.
>> Akhirnya, jadi ini pada dasarnya hanya empat benda penting dalam Daftar R.
hanya akan mengumpulkan benda-benda lain yang Anda inginkan.
Sehingga akan menyimpan ini menjadi satu variabel yang Anda dapat dengan mudah mengakses.
>> Jadi di sini, saya mengambil daftar.
Saya mengatakan hal sama 3.
Jadi aku akan memiliki satu elemen dalam daftar, dan ini disebut barang,
dan itu akan memiliki nilai 3.
>> Saya juga dapat membuat matriks.
Jadi ini adalah 1 sampai 4 dan akhir baris sama dengan 2, sehingga 2 oleh 2 matriks.
Juga dalam daftar dan itu disebut tikar.
moreStuff, string karakter, dan bahkan daftar lain dalam dirinya sendiri.
>> Jadi ini adalah daftar yang 5 dan beruang.
Sehingga memiliki nilai 5 dan memiliki beruang karakter string
dan itu adalah daftar dalam daftar.
Sehingga Anda dapat memiliki ini hal rekursif mana
Anda memiliki another-- ketik dalam jenis.
Jadi sama, Anda dapat memiliki matriks dalam matriks lain dan sebagainya.
Dan daftar adalah cara yang baik mengumpulkan dan menggabungkan
semua obyek yang berbeda.
>> Dan akhirnya, di sini hanya membantu dalam kasus ini hanya pergi selama sangat cepat.
Jadi kapan Anda bingung tentang beberapa jenis fungsi,
Anda dapat melakukan bantuan fungsi.
Sehingga Anda dapat melakukan bantuan matriks atau tanda tanya matriks.
Dan bantuan dan tanda tanya yang hanya singkatan untuk hal yang sama
jadi mereka alias.
>> lm adalah fungsi yang hanya melakukan model linier.
Tetapi jika Anda hanya tidak tahu bagaimana yang bekerja, Anda hanya dapat melakukan bantuan lm
dan itu akan memberi Anda beberapa semacam dokumentasi yang
terlihat jenis seperti Halaman pria Unix, di mana
Anda memiliki penjelasan singkat tentang apa tidak, juga apa argumen yang,
apa itu kembali, dan hanya tips tentang cara untuk menggunakannya, dan beberapa contoh juga.
>> Jadi biarkan aku pergi ke depan dan menunjukkan beberapa demo menggunakan R. OK.
Jadi aku pergi sangat cepat hanya data
struktur dan semacam itu op-- beberapa operasi.
Berikut adalah beberapa fungsi.
>> Jadi di sini aku hanya akan untuk mendefinisikan fungsi.
Jadi aku juga menggunakan operator penugasan di sini,
dan kemudian saya katakan mendeklarasikan sebagai fungsi.
Dan dibutuhkan nilai x.
Jadi ini adalah nilai yang Anda inginkan dan aku akan kembali x itu sendiri.
Jadi ini adalah fungsi identitas.
>> Dan apa yang keren tentang ini dibandingkan dengan bahasa lain
dan lain-tingkat rendah bahasa adalah bahwa x
dapat dari jenis sendiri dan itu akan kembali jenis itu.
Sehingga Anda dapat imagine-- jadi mari saya hanya menjalankan ini dengan cepat.
Mohon Maaf.
>> Jadi satu hal yang saya juga harus menyebutkan adalah bahwa editor ini saya menggunakan
disebut rstudio.
Ini adalah apa yang disebut IDE.
Dan satu hal yang benar-benar baik tentang hal ini
adalah bahwa hal itu menggabungkan banyak hal yang ingin Anda lakukan dalam R dengan sendirinya
hanya sangat intuitif.
>> Jadi di sini adalah konsol interpreter.
Jadi sama, Anda juga bisa mendapatkan ini konsol mentah hanya dengan melakukan R. modal
Dan ini persis hal yang sama seperti konsol.
Jadi saya hanya bisa melakukan fungsi id x, x, x.
Dan then-- dan itulah akan baik-baik saja sendiri.
>> Jadi rstudio besar karena memiliki konsol.
Hal ini juga memiliki dokumen Anda ingin berjalan di.
Dan kemudian memiliki beberapa variabel Anda dapat melihat dalam lingkungan.
Dan kemudian, jika Anda memiliki untuk melakukan plot, maka Anda
hanya bisa melihatnya di sini, sebagai lawan mengelola semua jendela yang berbeda
sendiri.
>> Aku benar-benar pribadi menggunakan Vim, tapi aku merasa seperti rstudio sangat baik hanya
untuk mendapatkan ide yang baik bagaimana menggunakan R. Biasanya,
ketika Anda mencoba untuk belajar beberapa tugas baru,
Anda tidak ingin menangani terlalu banyak hal sekaligus.
Jadi R hanya rstudio very-- adalah cara yang sangat baik belajar R
tanpa harus berurusan dengan semua hal-hal lainnya.
>> Jadi di sini saya sedang menjalankan id halo.
Ini mengembalikan halo.
id 123.
Berikut adalah vektor dari bilangan bulat.
Jadi sama, karena Anda dapat mengambil semacam nilai,
Anda dapat melakukan kembali id ​​dari x sehingga kembali 1234 dan 5.
>> Dan saya hanya menunjukkan bahwa ini memang integer.
Dan sama, jika Anda melakukan class id x, itu akan menjadi integer.
Dan kemudian, Anda juga bisa membandingkan dua dan itu BENAR.
Jadi aku memeriksa apakah id x sama sama dengan x dan pemberitahuan
bahwa ia memberi Anda dua trues.
Jadi ini tidak mengatakan yang dua benda yang identik,
tetapi masing-masing dari entri dalam vektor identik.
>> Berikut adalah bounded.compare.
Jadi ini adalah sedikit lebih rumit dalam hal ini memiliki sebuah jika kondisi dan lain
dan kemudian mengambil dua argumen pada suatu waktu.
Jadi x adalah jenis apapun.
Dan aku mengatakan ini Argumen kedua adalah.
Ini bisa apa saja juga.
Namun secara default, itu akan mengambil 5 jika Anda tidak menentukan apa-apa.
>> Jadi di sini aku akan mengatakan jika x lebih besar dari.
Jadi jika saya tidak menentukan, itu mengatakan jika x lebih besar dari 5,
maka aku akan mengembalikan TRUE.
lagi, aku akan kembali palsu.
Jadi biarkan aku pergi ke depan dan menentukan ini.
>> Dan sekarang aku akan menjalankan bounded.compare 3.
Jadi dikatakan adalah 3 kurang than-- adalah 3 lebih besar dari 5.
Tidak, itu tidak begitu SALAH.
>> Dan bounded.compare 3 dan aku akan untuk membandingkannya menggunakan sama 2.
Jadi sekarang saya katakan ya, sekarang saya ingin menjadi sesuatu yang lain.
Jadi aku akan mengatakan, Anda harus 2.
>> Saya juga bisa melakukan hal semacam ini notasi atau saya mengatakan sama 2.
Ini adalah lebih mudah dibaca bahwa ketika Anda
melihat ini benar-benar fungsi rumit yang
mengambil beberapa arguments-- dan ini bisa puluhan oftentimes-- hanya mengatakan
a equals 2 lebih mudah dibaca untuk Anda sehingga nantinya di masa depan
Anda akan tahu apa yang Anda lakukan.
>> Jadi dalam hal ini, saya katakan adalah 3 lebih besar dari 2.
Ya itu.
Dan sama, saya hanya dapat menghapus ini dan mengatakan, adalah 3 lebih besar dari 2
mana sama 2.
Dan itu juga BENAR.
Iya Nih?
>> AUDIENCE: Apakah Anda mengeksekusi baris demi baris?
>> DUSTIN TRAN: Ya saya.
Jadi apa yang saya lakukan di sini adalah mengambil teks ini document--
dan apa yang hebat tentang rstudio adalah bahwa Aku hanya bisa menjalankan short-- sebuah jalan pintas kunci.
Jadi aku melakukan Control-Enter.
>> Dan kemudian, aku mengambil baris dalam dokumen teks
dan kemudian menempatkan di konsol.
Jadi di sini saya katakan, bounded.compare dan aku melakukan Control-X.
Jadi saya hanya bisa melakukan menjalankan sini juga.
Dan kemudian yang akan mengambil line dan kemudian taruh di sini.
Dan kemudian sama, saya bisa melakukan lari di sini.
Dan kemudian itu hanya akan terus mendefinisikan baris ke konsol seperti itu.
>> Dan jika Anda juga melihat keriting yang kawat gigi yang ada seperti dalam sintaks C.
x-- jika jika kondisi ini juga akan menggunakan tanda kurung dan kemudian
Anda dapat menggunakan yang lain.
Satu lagi yang lain jika.
Jadi ini akan menjadi x sama sama, misalnya.
Dan kemudian aku akan kembali sesuatu di sini.
>> Perhatikan bahwa ada dua yang berbeda hal di sini yang terjadi.
Salah satunya adalah bahwa di sini saya menentukan mengembalikan nilai TRUE.
Di sini saya hanya mengatakan x.
Jadi R biasanya akan secara default mengambil arguments-- terakhir
atau mengambil baris terakhir dari kode, dan itu akan menjadi apa itu kembali.
Jadi di sini adalah sama Hal seperti melakukan kembali x.
>> Dan hanya untuk menunjukkan Anda.
Dan kemudian, ia akan bekerja seperti itu.
Jadi biarkan aku melanjutkan ini.
>> Jadi lain jika.
Dan sungguh, aku bisa kembali apapun yang saya mau.
Jadi saya bahkan tidak perlu kembali Booleans sepanjang waktu,
Aku hanya bisa kembali sesuatu yang lain.
Jadi saya dapat melakukan pengembalian beruang.
>> Jadi, jika x sama sama a, itu akan kembali beruang.
Jika tidak, itu akan mengembalikan TRUE.
Saya juga bisa melakukan vektor atau benar-benar sesuatu.
>> Dan biasanya di statis bahasa diketik,
Anda harus menentukan jenis di sini.
Dan melihat bahwa itu hanya bisa apa saja.
Dan R cukup cerdas yang hanya akan melakukan ini dan itu akan bekerja dengan baik.
>> Jadi biarkan aku menentukan ini.
Unexpected-- oh maaf.
Ini harus menjadi penjepit keriting di sini.
OKE.
Keren.
Baiklah.
Jadi sekarang mari kita bandingkan 3 dan sama dengan 3.
Jadi harus return-- yeah beruang nilai.
>> Jadi sekarang hal yang lebih umum seperti bagaimana dengan struktur data lainnya.
Jadi Anda memiliki fungsi ini.
Ini akan bekerja pada apapun nilai seperti 3 atau angka apapun,
dengan kata lain, ganda.
>> Tapi bagaimana dengan sesuatu seperti vektor.
Jadi apa yang terjadi jika Anda do-- jadi aku akan menetapkan val untuk, katakanlah, 4-6.
Jadi jika saya kembali ini, ini adalah vektor dari 4, 5, 6.
>> Sekarang mari kita lihat apa yang terjadi jika saya bounded.compare val.
Jadi ini akan memberi Anda 15 1251.
Jadi dengan kata lain, itu mengatakan jika Anda melihat kondisi ini
sehingga dikatakan x kurang dari satu atau sesuatu.
Jadi ini sedikit membingungkan karena sekarang
Anda hanya tidak tahu apa yang terjadi.
Jadi saya kira satu hal yang benar-benar baik tentang hanya mencoba untuk debug
adalah bahwa Anda hanya dapat melakukan val lebih besar dari dan melihat apa yang terjadi di sana.
>> Jadi val-- adalah secara default 5 jadi mari kita hanya Val lebih besar dari 5.
Jadi ini adalah vektor SALAH SALAH BENAR.
Jadi, sekarang ketika Anda sedang melihat ini, itu akan mengatakan jika,
dan kemudian itu akan memberi Anda ini adalah vektor SALAH SALAH BENAR.
>> Jadi, ketika Anda melewati ini ke R, R tidak tahu apa yang Anda lakukan.
Karena mengharapkan satu pun nilai, yang merupakan Boolean, dan sekarang
Anda memberikan vektor Booleans.
Jadi secara default, R hanya akan mengatakan apa sih,
Aku akan berasumsi bahwa Anda akan mengambil elemen pertama di sini.
Jadi aku akan say-- aku akan untuk menganggap bahwa ini adalah palsu.
Jadi itu akan mengatakan tidak, ini tidak benar.
>> Demikian pula, itu akan menjadi val sama sama a.
Tidak, maaf 5.
Dan itu juga akan menjadi salah juga.
Jadi itu akan mengatakan tidak, itu tidak BENAR juga jadi
akan kembali terakhir ini.
>> Jadi ini adalah salah hal yang baik atau buruk hal, tergantung pada bagaimana Anda melihatnya.
Karena ketika Anda menciptakan fungsi-fungsi ini,
Anda tidak benar-benar tahu apa yang terjadi.
Jadi kadang-kadang Anda ingin kesalahan, atau mungkin Anda hanya ingin peringatan.
Dalam hal ini, R tidak melakukan hal itu.
Jadi itu benar-benar sampai Anda didasarkan dari apa
Anda berpikir bahasa harus dilakukan dalam kasus ini
jika Anda lulus dalam vektor Booleans ketika Anda melakukan jika kondisi.
>> Jadi mari kita mengatakan bahwa Anda memiliki asli satu dengan yang lain jika kembali BENAR dan Anda
akan kembali palsu.
Jadi salah satu cara abstrak ini adalah untuk mengatakan saya
bahkan tidak perlu hal bersyarat ini.
Hal lain yang bisa saya lakukan hanyalah kembali nilai-nilai sendiri.
Jadi jika Anda perhatikan, jika Anda lakukan val lebih besar dari 5,
ini akan mengembalikan vektor SALAH SALAH BENAR.
>> Mungkin ini adalah apa yang Anda inginkan untuk bounded.compare.
Anda ingin kembali vektor Booleans di mana ia membandingkan masing-masing nilai
untuk diri mereka sendiri.
Jadi Anda bisa melakukan bounded.compare fungsi x, a sama dengan 5.
Dan kemudian bukannya melakukan ini jika kondisi lain,
Aku hanya akan kembali x lebih besar dari 5.
Jadi, jika itu benar, maka itu akan mengembalikan TRUE.
Dan kemudian jika tidak, itu akan kembali palsu.
>> Dan ini akan bekerja untuk salah satu struktur ini.
Jadi saya bisa bounded.compare c 1 6 atau 9 dan kemudian aku akan mengatakan sama 6,
sebagai contoh.
Dan kemudian itu akan memberikan Boolean yang tepat
vektor yang Anda merancang.
>> Jadi mereka hanya fungsi dan sekarang biarkan aku hanya
menunjukkan beberapa visual interaktif.
Saya tidak berpikir saya benar-benar memiliki Wi-Fi di sini jadi saya hanya pergi ke depan
dan melewatkan yang satu ini saya kira.
>> Tapi satu hal yang keren meskipun adalah bahwa jika Anda hanya
ingin menguji sekelompok perintah data yang berbeda,
ada sekelompok dataset yang berbeda yang sudah dimuat ke R.
Jadi salah satunya adalah disebut dataset iris.
Ini adalah salah satu yang paling terkenal yang di mesin belajar.
Anda akan biasanya hanya melakukan semacam kasus uji untuk melihat apakah kode Anda berjalan.
Jadi mari kita memeriksa apa iris.
>> Jadi hal ini akan menjadi frame data.
Dan itu agak lama karena Aku hanya dicetak iris.
Ini mencetak seluruh hal.
Sehingga memiliki semua nama-nama yang berbeda.
Jadi iris adalah koleksi bunga yang berbeda.
Dalam hal ini, Ini memberitahu Anda spesies itu,
semua lebar yang berbeda dan panjang dari sepal dan petal.
>> Dan biasanya, jika Anda ingin mencetak iris,
misalnya, Anda tidak ingin memilikinya melakukan semua ini karena yang bisa mengambil alih
seluruh konsol Anda.
Jadi satu hal yang benar-benar bagus adalah fungsi kepala.
Jadi jika Anda hanya melakukan kepala iris, ini akan memberikan Anda
lima baris pertama, atau enam kurasa.
Dan kemudian baik, Anda hanya dapat menentukan di sini.
Jadi 20-- ini akan memberikan Anda pertama 20 baris.
Dan aku benar-benar agak terkejut bahwa ini
memberi saya enam jadi biarkan aku pergi ke depan dan memeriksa kepala iris-- atau, maaf.
Dan di sini akan memberikan Anda dokumentasi
apa kepala nilai tidak.
Jadi mengembalikan pertama atau terakhir dari suatu objek.
Dan kemudian aku akan melihat default.
Dan kemudian ia mengatakan default Metode kepala x dan n sama 6L.
Jadi ini mengembalikan enam elemen pertama.
Dan juga jika Anda perhatikan di sini, saya tidak harus menentukan n sama dengan 6.
Secara default menggunakan enam, saya kira.
Dan kemudian, jika saya ingin menentukan tertentu nilai, maka saya bisa melihat itu juga.
>> Sehingga beberapa perintah sederhana dan inilah satu lagi yang hanya-- baik,
Saya can-- ini sebenarnya lebih kompleks kecil,
tapi ini hanya akan mengambil kelas setiap kolom dari dataset iris.
Jadi ini akan menunjukkan kepada Anda apa masing-masing kolom dalam hal jenis mereka.
Jadi panjang sepal numerik, Lebar sepal numerik.
Semua nilai-nilai ini hanya numerik karena Anda dapat memberitahu dari data ini
struktur ini semua akan numerik.
>> Dan kolom Spesies akan menjadi faktor.
Jadi biasanya, Anda akan berpikir bahwa ini adalah seperti karakter string.
Tetapi jika Anda hanya melakukan irisSpecies, dan kemudian aku akan melakukan kepala 5,
dan ini akan mencetak keluar lima nilai pertama.
>> Dan kemudian melihat tingkat ini.
Jadi ini adalah saying-- ini adalah cara R memiliki variabel kategori.
Jadi bukan hanya memiliki karakter string,
memiliki tingkat menspesifikasikan yang dari hal-hal ini.
>> Jadi katakanlah irisSpecies 1.
Jadi apa yang ingin Anda lakukan di sini adalah aku subsetting kolom Spesies ini.
Jadi ini mengambil Kolom spesies dan kemudian
itu indeks untuk mendapatkan elemen pertama.
Jadi ini harus memberikan Setosa.
Dan itu juga memberikan tingkat sini.
>> Jadi Anda juga dapat membandingkan ini ke Setosa karakter
dan ini tidak akan menjadi BENAR karena salah satu
adalah dari tipe yang berbeda dari yang lain.
Atau aku kira itu benar karena R lebih cerdas dari itu.
Dan melihat hal ini dan kemudian mengatakan, mungkin ini adalah apa yang Anda inginkan.
Jadi itu akan mengatakan karakter tali Setosa adalah sama seperti yang satu ini.
Dan kemudian sama, Anda dapat juga hanya ambil ini seperti seterusnya.
>> Jadi itu hanya semacam perintah cepat dataset.
Jadi inilah beberapa eksplorasi data.
Jadi ini adalah sedikit lebih terlibat dengan analisis data.
Dan ini diambil dari beberapa bootcamp di R di Berkeley.
>> Jadi perpustakaan asing.
Jadi aku akan memuat dalam perpustakaan yang disebut asing.
Jadi ini akan memberi saya read.dta sehingga berasumsi bahwa saya punya dataset ini.
Ini disimpan dalam arus direktori konsol saya bekerja.
Jadi mari kita lihat apa yang direktori kerja.
>> Jadi, inilah direktori kerja saya.
Dan membaca titik data, ini hal, mengatakan berkas ini
terletak di folder data ini direktori kerja saat ini.
Dan read.dta ini tidak perintah default.
Saya kira saya dimuat di sudah.
IEI menganggap saya dimuat ini sudah.
>> Tapi begitu read.dta tidak akan menjadi perintah default.
Dan itulah mengapa Anda akan memiliki untuk memuat di perpustakaan ini package--
Paket ini disebut asing.
Dan jika Anda tidak memiliki paket, saya pikir
asing adalah salah satu yang built-in.
Jika tidak, Anda juga bisa melakukan install.packages
dan ini akan menginstal paket tersebut.
Dan ini akan memberi Anda R. Eh, tidak.
Dan kemudian aku hanya akan berhenti ini karena saya sudah memilikinya.
>> Tapi apa benar-benar baik tentang R adalah bahwa manajemen paket
Sistem ini sangat elegan.
Karena akan menyimpan semua benar-benar baik untuk Anda.
Jadi dalam hal ini, itu akan menyimpan dalam, saya percaya, perpustakaan ini di sini.
>> Jadi kapan saja Anda ingin menginstal paket baru,
itu hanya sesederhana melakukan install.packages
dan R akan mengelola semua paket untuk Anda.
Jadi Anda tidak perlu melakukan sesuatu di Python, di mana Anda memiliki paket eksternal
manajer seperti kertas Anaconda mana Anda
doing-- Anda menginstal paket luar Python
dan kemudian Anda mencoba untuk menjalankan mereka sendiri.
Jadi ini benar-benar cara yang baik.
>> Dan install.packages membutuhkan internet.
Dibutuhkan dari server dan repositori yang
mengumpulkan semua paket disebut CRAN.
Dan Anda dapat menentukan jenis cermin Anda ingin men-download paket dari.
>> Jadi di sini saya mengambil dataset ini.
Aku membacanya dalam menggunakan fungsi ini.
Jadi biarkan aku pergi ke depan dan melakukan itu.
>> Jadi mari kita asumsikan bahwa Anda memiliki dataset ini
dan Anda benar-benar tidak tahu apa itu.
Dan ini benar-benar muncul cukup sering dalam industri
di mana Anda hanya perlu ini ton dan ton hal-hal berantakan
dan mereka sangat berlabel.
Jadi di sini saya punya ini dataset dan saya tidak tahu
apa itu jadi aku hanya menunjukkan untuk check it out.
>> Jadi aku akan melakukan kepala pertama.
Jadi saya memeriksa enam pertama kolom apa dataset ini.
Jadi ini adalah negara, pres04, dan kemudian semua ini jenis yang berbeda dari kolom.
Dan yang menarik di sini, saya kira, adalah bahwa Anda
akan berasumsi bahwa ini terlihat seperti semacam pemilu.
Dan saya kira hanya dari melihat file
nama ini adalah semacam koleksi data tentang calon atau pemilih
yang memilih presiden tertentu atau calon presiden
untuk Pemilu 2004.
>> Jadi di sini adalah nilai-nilai 1, 2 jadi salah satu cara untuk menyimpan
calon presiden nama-nama mereka.
Dalam kasus ini, sepertinya mereka nilai hanya integer.
Jadi tahun 2004, itu Bush dibandingkan Kerry saya percaya.
Dan sekarang, katakanlah Anda hanya tidak tahu apakah 1 dapat disamakan dengan Bush atau 2
sesuai dengan Kerry atau dan seterusnya dan sebagainya, kan?
>> Dan ini, hanya untuk saya, masalah yang cukup umum.
Jadi apa yang dapat Anda lakukan dalam kasus ini?
Jadi mari kita periksa semua hal-hal lainnya.
>> negara, Aku menduga ini berasal dari negara yang berbeda.
PARTYID, pendapatan.
Mari kita lihat PARTYID.
Jadi mungkin satu hal yang dapat Anda lakukan adalah melihat masing-masing dari pengamatan
yang memiliki PARTYID dari Partai Republik atau Demokrat atau sesuatu.
Jadi mari kita lihat apa yang PARTYID.
>> Jadi aku akan mengambil dat dan kemudian aku akan
untuk melakukan tanda dolar ini operator yang saya lakukan sebelumnya
dan ini akan subset pada kolom tersebut.
Dan kemudian aku akan kepala ini 20, hanya untuk melihat apa ini tampak seperti.
>> Jadi ini hanya sekelompok NAs.
Jadi dengan kata lain, Anda memiliki hilang data tentang orang-orang ini.
Tapi Anda juga melihat ini PARTYID bahwa adalah faktor
jadi ini memberi Anda berbagai kategori.
Jadi dengan kata lain, PARTYID dapat mengambil Demokrat, Partai Republik, Independen,
atau sesuatu yang lain.
>> Jadi mari kita pergi ke depan dan mari kita melihat mana is-- ini oh, OK.
Jadi aku akan subset untuk PARTYID dan kemudian
melihat mana yang Demokrat, misalnya.
Ini akan memberi Anda Boolean, Boolean besar trues dan kesalahan-kesalahan.
>> Dan sekarang, katakanlah saya ingin untuk subset pada orang-orang ini.
Jadi ini akan mengambil dat dan bagian untuk mana pengamatan
memiliki equals PARTYID sama Demokrat.
Dan ini cukup lama karena ada begitu banyak dari mereka.
Jadi sekarang, aku akan kepala ini dalam 20.
>> Dan seperti yang Anda perhatikan, sama equals menarik dalam bahwa Anda
already-- Anda juga termasuk NAs.
Jadi dalam hal ini, Anda masih tidak bisa mendapatkan informasi apapun karena sekarang Anda memiliki NAs
dan Anda hanya ingin melihat mana yang observasi sesuai dengan Demokrat
dan tidak ini hilang nilai-nilai sendiri.
Jadi bagaimana Anda menyingkirkan NAs ini?
>> Jadi di sini aku hanya menggunakan tombol pada saya kursor dan kemudian mengatakan bergerak di sekitar.
Dan maka di sini aku hanya akan mengatakan datpartyid is.na.
Jadi ini dan dan akan mengambil dua vektor Boolean yang berbeda
dan mengatakan itu akan menjadi TRUE dan FALSE misalnya.
Jadi itu akan melakukan komponen-bijaksana ini.
Jadi di sini saya katakan take frame data, subset
untuk orang-orang yang sesuai dengan Demokrat, dan menghapus salah satu dari mereka yang tidak NA.
>> Jadi will-- ini harus memberikan sesuatu.
Mari kita lihat is.na.
Mari kita coba datpartyid is.na.
Dan ini harus memberikan you-- sorry-- hanya vektor Boolean.
Dan kemudian, karena begitu lama, Aku akan subset pada 20.
OKE.
Jadi ini harus bekerja.
>> Dan yang satu ini juga akan trues.
Ah, jadi kesalahan saya di sini adalah bahwa I'm-- I menggunakan C ++ dan R bergantian jadi saya membuat
kesalahan ini sepanjang waktu.
Dan operator adalah sebenarnya yang Anda inginkan.
Anda tidak ingin menggunakan dua ampersands, hanya satu.
OKE.
>> Jadi mari kita lihat.
Jadi kami subsetted ke PARTYID mana mereka Demokrat
dan mereka tidak kehilangan nilai.
Dan sekarang mari kita lihat mana yang mereka pilih.
Jadi sepertinya kebanyakan dari mereka memilih 1.
Jadi aku akan pergi ke depan dan mengatakan bahwa adalah Kerry.
>> Dan sama, Anda dapat juga pergi ke Republik
dan mudah-mudahan, ini harus memberikan 2.
Ini hanya sekelompok kolom yang berbeda.
Dan memang, itu 2.
Jadi PARTYID semua Republik, kebanyakan dari mereka memberikan suara untuk 2.
>> Jadi sepertinya, hanya dengan melihat ini,
Republik akan menjadi a very-- atau PARTYID yang
akan menjadi sangat faktor besar dalam menentukan
calon yang mereka akan memilih.
Dan ini jelas benar secara umum.
Dan ini cocok Anda intuisi, tentu saja.
Jadi sepertinya aku kehabisan waktu sehingga
saya hanya harus pergi ke depan dan menunjukkan beberapa gambar yang cepat.
Jadi, inilah sesuatu yang sedikit lebih rumit dengan visualisasi.
Jadi dalam hal ini, ini adalah sangat analisis sederhana hanya memeriksa apa
presiden '04 adalah.
>> Jadi dalam hal ini, katakanlah Anda ingin menjawab pertanyaan ini.
Jadi misalkan kita ingin tahu pemungutan suara perilaku dalam pemilihan presiden 2004
dan bagaimana yang bervariasi oleh ras.
Jadi anda tidak hanya ingin melihat perilaku pemilih,
tetapi Anda ingin subset dari masing-masing ras dan jenis meringkas itu.
Dan Anda hanya dapat memberitahu oleh notasi kompleks ini
bahwa ini adalah jenis semakin kabur.
>> Jadi salah satu yang lebih maju R paket itu juga jenis baru-baru ini
disebut dplyr.
Jadi yang satu ini di sini.
Dan ggplot2 ggg-- hanya bagus cara melakukan visualisasi yang lebih baik
dari yang built-in.
>> Jadi aku akan memuat dua perpustakaan.
Kemudian, aku akan pergi depan dan menjalankan perintah ini.
Anda hanya bisa memperlakukan ini sebagai kotak hitam.
>> Apa yang terjadi adalah bahwa pipa ini Operator lewat dalam argumen ini
ke sini.
Jadi aku mengatakan kelompok dengan dat ras dan kemudian presiden 04.
Dan kemudian, semua ini perintah lain menyaring dan kemudian meringkas
di mana aku melakukan hitungan dan maka aku merencanakan sini.
OK keren.
Jadi mari kita pergi ke depan dan melihat apa ini tampak seperti.
>> Jadi apa yang terjadi di sini adalah bahwa saya hanya diplot masing-masing ras dan kemudian
mana yang mereka pilih.
Dan kedua berbeda nilai sesuai dengan 2 dan 1.
Jika Anda ingin menjadi lebih elegan, Anda juga bisa
hanya menentukan bahwa 2 adalah Kerry-- atau 2 adalah Bush, dan kemudian 1 adalah Kerry.
Dan Anda juga dapat memiliki bahwa dalam legenda Anda.
>> Dan Anda juga dapat membagi ini grafik batang.
Karena satu hal yang bahwa, jika Anda perhatikan,
ini sangat tidak mudah untuk mengidentifikasi yang dari dua nilai ini lebih besar.
Jadi satu hal yang Anda ingin lakukan adalah mengambil area biru ini
dan hanya memindahkannya ke sini sehingga Anda dapat membandingkan dua sisi ini berdampingan.
Dan saya rasa itu sesuatu yang saya tidak punya waktu untuk lakukan sekarang,
tapi itu juga sangat mudah untuk dilakukan.
Anda hanya dapat melihat ke dalam halaman manual dari ggplot.
Jadi Anda hanya dapat melakukan ggplot seperti itu dan membaca ke halaman ini manusia.
>> Jadi biarkan aku hanya cepat menunjukkan beberapa hal keren.
Mari kita pergi ke depan dan pergi to-- hanya penerapan pembelajaran mesin.
Jadi katakanlah kita memiliki tiga ini paket jadi saya akan memuat ini di.
Jadi ini hanya mencetak beberapa informasi setelah saya dimuat di hal.
Jadi saya mengatakan read.csv ini, dataset ini, dan sekarang
Aku akan pergi ke depan dan melihat dan melihat apa yang ada di dalam dataset ini.
>> Jadi pertama 20 observasi.
Jadi saya hanya X1, X2, dan Y. Jadi Sepertinya sekelompok nilai-nilai ini
berkisar antara mungkin 20 sampai 80 atau lebih.
Dan kemudian sama untuk X2 dan kemudian Y ini tampaknya menjadi label 0 dan 1.
>> Untuk memverifikasi ini, saya bisa hanya melakukan data ringkasan X1.
Dan kemudian sama untuk semua ini kolom lainnya.
Jadi ringkasan adalah cara cepat hanya menunjukkan Anda nilai cepat.
Oh maaf.
Yang satu ini harus Y.
>> Jadi dalam hal ini, memberikan quantiles, median, maxes juga.
Dalam hal ini, dataY, Anda dapat melihat bahwa itu hanya akan menjadi 0 dan 1.
Juga mean mengatakan 0.6, hanya berarti bahwa
Sepertinya saya memiliki lebih dari 1s 0s.
>> Jadi biarkan aku pergi ke depan dan menunjukkan apa ini tampak seperti.
Jadi aku hanya akan plot ini.
Mari kita lihat bagaimana untuk menghapus ini.
Oh oke.
OKE.
>> Jadi ini adalah apa yang tampak seperti.
Jadi sepertinya kuning saya ditentukan sebagai 0, dan kemudian merah saya ditetapkan sebagai 1s.
Jadi di sini terlihat seperti poin label dan
Sepertinya Anda hanya ingin beberapa semacam pengelompokan ini.
>> Dan biarkan aku hanya pergi ke depan dan menunjukkan Anda beberapa fungsi built-in.
Jadi di sini adalah lm.
Jadi ini hanya mencoba agar sesuai garis untuk ini.
Jadi apa cara terbaik bahwa saya bisa cocok dengan garis tersebut
bahwa itu yang terbaik akan memisahkan semacam ini clustering.
Dan idealnya, Anda hanya bisa melihat bahwa saya hanya menjalankan semua perintah ini
dan kemudian, aku akan depan dan tambahkan baris.
>> Jadi ini tampaknya seperti perkiraan terbaik.
Ini mengambil yang terbaik yang meminimalkan kesalahan dalam mencoba untuk menyesuaikan baris ini.
Jelas, ini terlihat seperti baik, tapi itu bukan yang terbaik.
Dan model linear, di umum, akan menjadi
benar-benar hebat untuk teori dan hanya semacam bangunan dasar-dasar mesin
sedang belajar.
Tapi dalam prakteknya, Anda akan ingin melakukan sesuatu yang lebih umum.
>> Jadi Anda bisa mencoba menjalankan sesuatu yang disebut neural network.
Hal-hal ini semakin lebih umum.
Dan mereka hanya bekerja fantastis untuk dataset besar.
Jadi dalam hal ini, kita hanya have-- mari see-- kita memiliki nrow.
Jadi nrow hanya mengatakan jumlah baris.
Jadi dalam hal ini, saya memiliki 100 observasi.
>> Jadi biarkan aku pergi ke depan dan membuat jaringan saraf.
Jadi ini benar-benar baik karena saya hanya bisa mengatakan nnet
dan kemudian aku kemunduran Y. Jadi Y adalah kolom tersebut.
Dan kemudian kemunduran pada dua variabel lainnya.
Jadi ini lebih pendek notasi untuk X1 dan X2.
>> Jadi mari kita pergi ke depan dan menjalankan ini.
Oh maaf.
Saya harus menjalankan semua ini.
Dan ini hanya mencetak notasi untuk seberapa cepat atau tidak cepat itu
berkumpul.
Jadi sepertinya itu menyatu.
Jadi biarkan aku pergi ke depan dan mencetak apa ini tampak seperti.
>> Lihat di sini adalah gambar dan di sini adalah kontur yang menunjukkan seberapa baik cocok.
Dan ini adalah hanya-- dapat Anda lihat ini bahwa ini sangat, sangat bagus.
Bahkan bisa overfitting, tetapi Anda dapat juga
account ini dengan yang lain teknik seperti cross-validasi.
Dan ini juga dibangun ke R.
>> Dan biarkan aku hanya menunjukkan Anda mendukung mesin vektor.
Ini adalah satu lagi benar-benar umum teknik dalam pembelajaran mesin.
Hal ini sangat mirip dengan model linear, tapi menggunakan apa yang disebut metode kernel.
Dan mari kita lihat seberapa baik yang tidak.
Jadi yang satu ini sangat mirip dengan bagaimana baik jaringan saraf melakukan,
tapi itu jauh lebih halus.
Dan ini didasarkan dari dari UMPC bagaimana SVMs kerja.
>> Jadi ini hanya sangat gambaran singkat dari beberapa
fungsi built-in yang dapat Anda lakukan dan juga beberapa dari eksplorasi data.
Jadi biarkan aku hanya pergi ke depan dan kembali ke slide.
>> Jadi jelas, ini adalah tidak sangat komprehensif.
Dan ini benar-benar hanya sebuah teaser menunjukkan kepada Anda apa yang Anda benar-benar dapat dilakukan di R.
Jadi, jika Anda baru saja seperti untuk mempelajari lebih lanjut, di sini
adalah sekelompok sumber daya yang berbeda.
>> Jadi jika Anda menyukai buku atau Anda hanya gemar membaca hal-hal online,
maka ini adalah fantastis satu per Hadley Wickham,
yang juga menciptakan semua ini paket benar-benar keren.
Jika Anda menyukai video, maka Berkeley memiliki bootcamp mengagumkan
itu several-- itu semacam panjang.
Dan itu akan mengajarkan Anda hampir segala sesuatu yang Anda ingin tahu tentang R.
>> Dan sama, ada Codeacademy dan semua ini semacam lainnya
website interaktif.
Mereka juga mendapatkan common-- lebih dan lebih umum.
Jadi ini sangat mirip dengan Codeacademy.
Dan akhirnya, jika Anda hanya ingin Community dan membantu,
ini adalah sekelompok hal yang dapat Anda pergi ke.
Jelas, kita masih menggunakan milis, hanya
seperti hampir setiap lain masyarakat bahasa pemrograman.
Dan #rstats, ini adalah komunitas kami Twitter.
Itu sebenarnya cukup umum.
Kemudian pengguna!
Apakah hanya konferensi kami.
>> Dan kemudian, tentu saja, Anda dapat menggunakan semua ini lain Q & A hal,
seperti Stack Overflow, Google, dan kemudian GitHub.
Karena sebagian besar dari paket ini dan banyak masyarakat
akan berpusat di sekitar pengembangan kode karena open source.
Dan itu hanya benar-benar bagus di GitHub.
Dan akhirnya, Anda dapat menghubungi saya jika Anda hanya memiliki pertanyaan cepat.
Jadi, Anda dapat menemukan saya di Twitter sini, website saya, dan hanya email saya.
Jadi mudah-mudahan, itu something-- hanya teaser singkat
apa R benar-benar mampu melakukan.
Dan mudah-mudahan, Anda hanya memeriksa tiga link
dan melihat apa yang dapat Anda lakukan lebih.
Dan saya kira itu hanya tentang hal itu.
Terima kasih.
>> [TEPUK TANGAN]