>> [MÜZİK OYUN]
DUSTIN TRAN: Merhaba.
Benim adım Dustin.
Yani sunmak olacak R Veri Analizi
Kendim hakkında sadece biraz.
Ben şu anda bir lisansüstü öğrencisi değilim Mühendislik ve Uygulamalı Bilimler.
Ben bir kavşak çalışması makine öğrenme ve istatistik
yani R Veri Analizi olduğunu gerçekten temel ne
Ben günlük olarak yapmak.
>> Ve R, özellikle bir veri analizi için iyi
bu prototip için çok iyi çünkü.
Ve genellikle, bazı tür yapıyoruz veri analizi, sorunların bir sürü
bilişsel gidiyor.
Ve böylece sadece istiyorum bazı gerçekten iyi bir dil olduğunu
yapmak için sadece iyi yerleşik fonksiyonlar, aksine
Düşük seviyeli şeyler ile uğraşmak zorunda.
Başlangıçta Yani, ben sadece gidiyorum tanıtmak için R ne, neden ederim
bunu kullanmak istiyorum, ve sonra bazı demo içine gitmek,
ve sadece oradan gitmek.
>> R ne öylesine mi?
R, sadece bir dil geliştirilmiştir İstatistiksel hesaplama için
ve görselleştirme.
Peki bunun anlamı olduğunu çok mükemmel bir dil var
ile ilgilenen bir şey herhangi bir tür için belirsizlik veya veri görselleştirme.
Yani tüm bu var olasılık dağılımları.
Orada olacak Yerleşik işlevleri.
Ayrıca mükemmel olacak paketleri komplo.
>> Python başka rakip olduğunu veri dili.
Ve bir şey o R bulmak görselleştirme çok daha iyidir.
Peki demo olarak görürsünüz de sadece bir çok sezgisel bir dildir
Bu sadece son derece iyi çalışıyor.
Sanki, ayrıca ücretsiz ve açık kaynak sanırım herhangi bir diğer iyi bir dildir.
Sadece bir >> Ve burada, bir demet anahtar kelimeler size atılan.
Eğer bir varsa bu anlam, dinamik var Bir nesneye atanan özel tip
daha sadece anında değiştirebilirsiniz edeceğiz.
O tembel yüzden bu konuda akıllı nasıl hesaplamaları yapar.
Gerçekten çalışabilir anlam Fonksiyonel fonksiyonların kapalı herhangibirşey böylece göre
sen manipülasyon herhangi bir tür yapıyor, işlevleri kapalı esas alınacaktır.
>> Nedenle ikili operatörler, örneğin, Sadece doğal işlevleri vardır.
Ve her şey o Yapmanız olan gidiyoruz
gidiş fonksiyonları kendisi kaçıp edilecek.
Ve sonra sıra nesne yönelimli.
>> Yani burada bir XKCD komplo olduğunu.
Sadece ben gibi hissediyorum çünkü XKCD herhangi bir tür için esastır
sunum, ancak çünkü Ben gerçekten böyle hissediyorum
noktası çekiç ki bir sürü veri çeşit yapıyoruz zaman
analizi, sorun değil o ishal ne kadar hızlı o kadar çok,
ama gidiyor ne kadar Görevi programlamak için sizi.
Yani burada sadece olmadığını analiz edilir strateji a veya b daha etkilidir.
Bu olacak sen bir şey
içinde bir sürü başa gidiyor tür düşük seviyeli diller
Eğer seg hataları ile uğraşıyoruz nerede, bellek ayırma, baþlatma,
Hatta yerleşik işlevleri yapma.
Ve bu şeyler her işlenir çok, çok zarif R.
>> Yani sadece bu çekiç nokta, büyük darboğaz
bilişsel olacak.
Yani veri analizi çok zor bir sorundur.
Yapıyorsun olsun Makine öğrenme ya sen
sadece bazı tür yapıyor temel veri arama,
Eğer sahip olmak istemiyorum Bir belgeyi almak için
ve daha sonra derlemek Her zaman bir şey mi
Bir sütun neye benzediğini görmek istiyorum, bir matris özellikle hangi girdileri
gibi görünüyor.
Yani sadece istiyorum bazı gerçekten güzel bir arayüz
Eğer basit bir işlevi çalıştırabilirsiniz indeksler için ne olursa olsun
Beğendiğiniz ve sadece oradan kaçardım.
Ve etki ihtiyacınız Bu özel dil.
Ve R gerçekten tanımlamak yardımcı olacaktır Sorun ve bu şekilde bunu çözmek.
>> Yani burada bir komplo gösteren programlama R popülerlik zamanla gitti gibi.
Yani sen 2013 veya benzeri görebilirsiniz bu yüzden sadece müthiş havaya uçuruldu.
Ve bu sırf bu olmuştur Teknoloji sektöründe büyük bir eğilim
hakkında büyük veri.
Ayrıca, sadece teknoloji sanayi, ama gerçekten
Herhangi bir endüstri ki- çünkü sanayi bir sürü
sort temel olan Bu sorunları çözmek için çalışıyoruz.
Ve genellikle, bazı iyi olabilir Bu sorunların ölçülmesi yolu
hatta onları tanımlamak veya verileri kullanarak bunları çözme.
Yani şimdi R 11 olduğunu düşünüyorum TIOBE en popüler dil
ve o zamandan beri büyüyor oldu.
>> Yani burada biraz daha var R. özellikleri It has
paket muazzam sayıda ve Tüm bu farklı şeyler için.
Yani her zaman bir var Belirli bir sorun, en
Zaman R sahip olacak Sizin için bu işlev.
Eğer isteyip istemediğinizi Yani Makinenin çeşit inşa
denilen öğrenme algoritması Rastgele Orman veya Karar Ağaçları,
hatta ortalamasını almaya çalışıyor Bir fonksiyon veya bu malzeme herhangi
R o olacak.
Eğer bunu yaparsanız >> Ve umurumda yaygın optimizasyon, bir şey
Eğer prototip bitirdiniz yani sonra yüksek seviyeli dil çeşit,
Bunu in-- atacağım olacak, sadece liman olduğunu üzerinde
bazı düşük seviyeli dile.
Ne Ar hakkında iyi sen bir kez olduğunu Bunu prototip yapılması, sen C ++ çalıştırabilirsiniz,
veya Fortran, veya bunların herhangi bir doğrudan R. içine alt düzey olanlar
Yani bu bir gerçekten R hakkında serin özelliği,
Eğer gerçekten umurumda eğer optimizasyon noktası.
>> Ve bu da gerçekten iyi Web görselleştirme için.
Böylece D3.js, örneğin, Başka bir seminer sanırım
Bugün sundu ki.
Ve bu gerçekten harika interaktif görselleştirme yapıyor.
Ve D3.js sahip olduğunu varsayar veri çeşit çizilebilmesini
ve R yapmak için güçlü olmak harika bir yoldur veri analizi dışa önce
üzerinde D3.js hatta sadece koşmak D3.js R kendisi içine komutları,
yanı sıra bu gibi diğer kütüphaneler de.
>> Yani sadece giriş oldu R ve neden bunu kullanmak olabilir budur.
Yani umarım, ben oldum Sana bir şey ikna
hakkında sadece neye benzediğini görmek için çalışıyorum.
Yani go ahead ve geçmesi için gidiyorum R nesneler hakkında bazı temel
ve gerçekten neler yapabileceğini.
>> Yani burada sadece bir olduğunu matematik komutları demet.
Yani inşa etmek istediğiniz sen-- demek dil kendiniz ve sadece istediğiniz
Farklı araçlar bir demet var.
Operasyon herhangi bir tür sen düşünüyorum hemen hemen R. olacak istiyorum
>> Yani burada 2 artı 2.
İşte 2 kez pi.
R yerleşik sabitler bir grup var Eğer sık ​​sık pi, e gibi kullanabilirsiniz edeceğiz.
>> Ve sonra, burada 7 artı runif, 1 runif yani.
Bu olan bir fonksiyon üretir olduğunu 0-1 bir rasgele üniforma.
Ve sonra 4 iktidara 3 var.
Karekök var.
>> Günlük var.
Yani taban yapacak log kendisi tarafından üstel.
Ve sonra, bir taban belirtirseniz, daha sonra Eğer istersen taban yapabilirsiniz.
Ve sonra burada diğer bazı komutlar vardır.
Yani 23 mod 2 var.
Sonra geri kalan var.
Sonra bilimsel var notasyonu da eğer
sadece daha fazla yapmak istiyorum ve daha karmaşık şeyler.
>> Yani burada atama olduğunu.
Yani tipik atamalar R, bir ok ile yapılır
bu yüzden daha az daha ve tire var.
Yani burada sadece atama ediyorum Değişken val 3.
>> Ve sonra ben val yazdırarak ediyorum ve sonra üç yazdırır.
R tercüman Varsayılan olarak, bu Sizin için bir şeyler yazdırmak olacak
böylece bir val yazdırmak belirtmek zorunda değilsiniz her zaman bir şey yazdırmak istiyorum.
Sadece val yapabilirsiniz ve o zaman sizin için yapacağım.
>> Ayrıca, teknik eşittir kullanabilirsiniz Bir atama operatörü olarak.
Hafif incelikleri vardır okunu kullanarak arasındaki
Operatör ve eşittir atamalar için operatör.
Çoğunlukla kongre, herkes tarafından sadece ok operatörünü kullanır.
>> Ve burada, ben bu atama ediyorum eğik gösterim 1 kolon 6 çağırdı.
Bu 1-6 bir vektör oluşturur.
Ve bu gerçekten güzel o çünkü Sadece val vektörü atamak
ve bu tek başına çalışır.
>> Peki bu zaten gelen gidiyor Bir çok sezgisel veri single--
sadece bir ikizi yapısı bir vektöre Çeşidi bir tür
ve bütün bunlar toplayacak Sizin için skaler değerler.
Yani skaler gelen gittikten sonra, sen R nesneleri ve bu bir vektördür.
Bir vektör herhangi bir tür aynı tip koleksiyon.
Yani burada vektörlerin bir demet.
>> Peki bu sayısal olduğunu.
Sayısal çift demenin R yoludur.
Ve böylece varsayılan olarak, herhangi bir sayı bir çift olacak.
>> Yani 1.1, 3 c varsa, 5.7 negatif C bir fonksiyonudur.
Bu üç birleştirir Bir vektör içine sayılar.
Bu yüzden, eğer göre-- olacak Eğer kendisi tarafından 3 fark,
normalde varsayılabilir bu tamsayı gibi olduğu,
ancak tüm vektörleri çünkü Aynı tip,
Bu çiftler bir vektör veya bu durumda sayısal.
>> Rnorm üreten bir fonksiyonudur standart normal variables--
veya standart normal değerler.
Ve ben ikisini belirterek ediyorum.
Yani bu atama, rnorm 2 yapıyorum Devs ve sonra devs dışarı baskı yapıyorum.
Peki bu sadece ikisidir rastgele Normal değerler.
>> Ve sonra yaparsanız INTS Eğer tamsayılar umurumda.
Yani bu sadece bellekte hakkında tahsisi ve tasarruf bellek boyutu.
Yani eklemek zorunda kalacak başkent L. tarafından numaralar
>> Genel olarak, bu R tarihi gösterim
bir şey için uzun tamsayı denir.
Çoğu zaman, sen olacak Yani çiftler ile ilgili olacak.
Ve eğer hiç sonradan olacak kodunuzu optimize üzerine,
Sadece bu L'nin ekleyebilirsiniz sonradan ya da sırasında
hakkında öngörüye gibisin eğer ne Bu değişkenleri yapmak için gidiyoruz.
>> Yani burada bir karakter vektör.
Yani, yine, ben birleştirerek ediyorum Üç dizeleri bu kez.
Bu çift dizeleri dikkat ve Tek dizeleri R. aynıdır
Yani öylesine arthur ve Marvin en ve var zaman, hepsini dışarı baskı ediyorum
Çift dizeleri göstermek için gidiyoruz.
Ve ayrıca eklemek istiyorsanız çift ​​veya tek dize
sizin karakter, o zaman yapabilirsiniz Ya senin dizeleri alternatif.
>> Marvin en Yani İkinci unsur, bu
Seni show-- olacak sadece çift dizeleri var
ve daha sonra tek bir dize bu yüzden bu alternatif olduğunu.
İstediğiniz Aksi takdirde, bir çift kullanmak için Bir çift dize dize operatörü
Bunu ilan ederken, daha sonra Sadece kaçış operatörünü kullanın.
Yani ters eğik çizgi çift dize yapmak.
>> Ve son olarak, aynı zamanda mantıksal vektörleri var.
Yani logical-- yüzden DOĞRU ve YANLIŞ, ve onlar konum
Tüm harfler büyük olacak.
Ve sonra, yine, ben birleştirerek ediyorum Onları ve daha sonra bool değerlerden oluşan bunları atama.
Yani bool değerlerden oluşan göstermek için gidiyor Eğer, DOĞRU YANLIŞ, DOĞRU ve.
>> Yani burada vectorized indeksleme olduğunu.
Ben, başında Yani Bir function-- alıyorum
Bu sequence-- adlandırılır 2-12 sekansı.
Ve ben 2 ile bir dizi alıyorum.
Yani bunu yapmak için gidiyor 2, 4, 6, 8, 10 ve 12.
Ve sonra, ben indeksleme değilim Üçüncü elemanı almak için.
>> Yani akılda tutulması gereken bir şey 1 başlayarak, R indeksleri.
Vals Yani 3 verecek Üçüncü unsur.
Bu tür diğerinden farklı olduğunu sıfırdan başlar dilleri.
Bu nedenle, C veya C ++, örneğin, konum Dördüncü elemanı almak için gidiyoruz.
>> Ve burada 3-5 vals olduğunu.
Yani bir şey olduğunu gerçekten harika senin olduğunu
içinde geçici değişkenleri üretebilir ve sonra sadece anında bunları kullanmak.
Yani burada 3-5 olduğu.
Yani bir vektör üreten ediyorum 3, 4, 5 ve daha sonra
Ben, üçte almak için endeksleme ediyorum Dördüncü ve beşinci elemanları.
>> Yani benzer, yapabilirsiniz Bu soyut sadece yapmak
Bir vektör herhangi bir tür Bu size indeksleme verir.
Yani burada o vals ve bir ilk, üçüncü ve altıncı elemanları.
Ve sonra, isterseniz bir tamamlayıcısı yapmak için,
böylece sadece eksi yapmak Daha sonra ve olacak
Sana değil her şeyi vermek ilk, üçüncü ve altıncı eleman.
Yani bu 4, 8, ve 10 olacaktır.
>> Ve almak istiyorsanız daha gelişmiş,
Boole vektörleri arada kullanabilirsiniz.
Yani bu endeks size verecek uzunluğunda 6 Bu Boole vektör.
Yani temsilcisi DOĞRU virgül 3.
Bu DOĞRU üç kez tekrar edecektir.
Yani bu size verecek vektör DOĞRU, DOĞRU, DOĞRU.
>> Temsilcisi YANLIŞ 4-- bu size verecek YANLIŞ, YANLIŞ, YANLIŞ YANLIŞ bir vektör.
Ve ardından c bitiştirmek için gidiyor Birlikte bu iki Booleans.
Yani üç almak için gidiyoruz Doğruları ve daha sonra dört falses.
>> Eğer endeks vals, sen ne zaman o yüzden , DOĞRU, DOĞRU DOĞRU almak için gidiyoruz.
Yani evet demek oluyor, Ben bu üç öğeleri istiyorum.
Ve sonra YANLIŞ, YANLIŞ, YANLIŞ, YANLIŞ gidiyor
hayır, ben bu unsurları istemiyorum demek bu yüzden onları geri gitmiyor.
>> Ve ben burada bir yazım hatası var aslında sanırım Bu çünkü 3 tekrarlayın DOĞRU söylüyor
ve teknik sizi YANLIŞ 4 tekrarlayın ve Sadece altı elemanları, YANLIŞ tekrarlamak var,
bu 3 YANLIŞ tekrar olmalıdır.
Ben R, aynı zamanda yeterince akıllı olduğunu düşünüyorum Bu sadece o, burada 4 belirtirseniz
hatta dışarı hata olmaz.
Sadece bu değeri verecektir.
Yani sadece bu dördüncü YANLIŞ görmezden edeceğiz.
>> Yani burada vectorized atama olduğunu.
Bu sadece setleri set.seed-- Yani yalancı rasgele numaralar için tohum.
Yani tohum ayarlıyorum Yani 42, ben oluşturmak eğer
Üç normal rasgele değerler, ve sonra eğer
kendi set.seed çalıştırmak aynı değeri 42 ile bilgisayar,
o zaman da olsun Aynı üç rastgele normaller.
>> Peki bu gerçekten çok iyi tekrarlanabilirlik için.
Genellikle, ne yapıyor bazı Bilimsel analiz tür,
Eğer tohum ayarlamak isterim.
Bu şekilde diğer bilim adamları sadece can Eğer ettik aynı kodu yeniden
onlar tam olacak çünkü yapılan Aynı rasgele değişkenler ki- veya rasgele
siz de dışarı attık değerleri.
>> Ve böylece vectorized atama Burada 2 Vals 1 gösteriliyor.
Bu yüzden ilk iki elemanları alır vals ve daha sonra 0 onları atar.
Ve sonra, sen de sadece yapabilirsiniz Booleans benzer bir şey.
>> Peki vals bu iradeyi 0-- eşit değildir Size bir vektör YANLIŞ vermek, YANLIŞ, DOĞRU
bu durumda.
Ve sonra, herhangi bir söylemek için gidiyor DOĞRU vardı o endeksleri,
o 5'e o atamak için gidiyor.
Yani üçüncü elemanı alır Burada ve daha sonra 5 atar.
>> Ve bu gerçekten güzel Düşük seviyeli diller ile karşılaştırıldığında
nerede döngüler için kullanmak zorunda Bu vectorized şeyler her yapmak
sadece çok sezgisel çünkü ve tek bir tek-liner var.
Ve büyük hakkında ne vectorized gösterim
R, bu tür olmasıdır Yerleşik onlar neredeyse hızlılar ki
Düşük seviyeli dil olarak yapıyor gibi Ar döngü için bir yapım karşı
ve daha sonra bunu yapmak zorunda Dinamik indeksleme kendisi.
Ve bunu yaparken daha yavaş olacak vectorized bu tür bir şey
bu paralel, bunu yapmak nerede temelde diş bunu yapıyor.
>> Yani burada vectorized operasyonlar olduğunu.
Yani 3 bir değer 1 üreten ediyorum, atama olduğunu vec1 için, 3-5, vec2,
onları bir arada ekleyerek.
O yüzden onlara bileşen bilge ekler o böylece 1 artı 3, 2 artı 4, ve var.
>> Vec1 kez vec2.
Bu, iki çarpar bilge bileşeni değerleri.
Yani 1 kez 3, 2 kez var 4 ve daha sonra 3 kez 5.
>> Ve sonra, benzer siz de yapabilirsiniz mantıksal karşılaştırmalar comparisons--.
Yani bu DOĞRU YANLIŞ YANLIŞ var örnek 1 için, 3 daha büyük değildir
2 4 daha büyük değildir.
Bu benim, başka yazım hatası sanırım, bir, 3 kesinlikle 5'ten büyük değildir.
Evet.
Ve böylece sadece tüm yapabilirsiniz Bu basit işlemler
onların miras nedeniyle sınıflar kendilerini.
>> Yani sadece vektör oldu.
Ve bu en temel sıralama var R nesnesi, çünkü bir vektör verilen
Eğer daha gelişmiş nesneleri oluşturabilirsiniz.
>> Yani burada bir matris var.
Bu aslında soyutlama Bir matris kendisi ne olduğu.
Yani bu durumda, farklı üçü Her biri bir sütun vektörleri,
ya da bunu düşünebilirsiniz Her biri olarak bir sıra.
>> Yani 1'den bir matris için depolama ediyorum 9 ve daha sonra 3 satır belirterek ediyorum.
Yani 1 ila 9, sana bir vektör 1 verecek 2, 3, 4, 5, 6, ve 9 kadar taşıyabilir.
>> De akılda tutmak için bir şey olduğunu R mağazaları sütun ana formatta değerleri.
Yani diğer bir deyişle, 1 zaman görmek 9, bu them-- depolamak için oluyor
bu, 2, 1 olacak İlk sütunda 3,
ve sonra yapacağım 4, 5, İkinci sütundaki 6,
ve daha sonra 7, üçüncü sütundaki 8, 9.
>> Ve burada diğer bazı vardır kullanabileceğiniz ortak fonksiyonlar.
Yani loş mat, bu size vereceğim matris boyutları.
Seni dönmek için gidiyor boyut bir vektör.
Bu durumda, çünkü böylece Bizim matris, 3 ile 3
size bir vermek için gidiyor Sayısal vektör 3 3 olduğunu.
>> Ve burada sadece gösteriyor matris çarpım.
Yani genellikle, sadece yaparsanız asterisk-- böylece mat yıldız mat--
Bu olacak bileşen-bilge operasyon
veya Hadamard ürün ne denir.
Yani her yapacak eleman bileşen bilge.
Ancak, isterseniz matris multiplication--
böylece ilk satır kez çarparak İkinci matris ilk sütun
ve böylece on-- kullanırsınız Bu yüzde operasyonu.
>> Ve mat t sadece bir olduğunu devrik için operasyon.
Yani ben devrik almak söylüyorum matris, matris ile çarpın
kendisi.
Ve o gidiyor Başka bir 3 sana dönecektir
3 matris gösterimleri Eğer istediğimiz ürün.
>> Ve böylece matris oldu.
İşte bir veri çerçevesi denir şeydir.
Siz aklınıza gelebilecek bir veri çerçevesi Bir matris, ancak her kolon kendisi
Farklı Çeşidi olacak.
>> Peki veriler hakkında gerçekten harika karedir veri analizi kendisi olduğunu,
Tüm bu için gidiyoruz heterojen veri ve tüm bu gerçekten
Dağınık şeyler nerede sütunların her biri kendilerini farklı türde olabilir.
Yani burada bir oluşturmak söylüyorum veri çerçevesi, 1-3 int'leri mutlaka
ve daha sonra da bir karakter vektör var.
Yani aracılığıyla endeksi can Bu sütunların her biri
ve sonra değerleri kendileri alırsınız.
Ve ayrıca çeşit yapabilirsiniz veri çerçevelerinin üzerindeki işlemler.
Ve çoğu zaman sen ne zaman veri analizi veya çeşit yapıyor
önişleme, sen olacağım Bu veri yapısı ile çalışan
nereye, her sütun gidiyor Farklı bir tip olması.
>> Son olarak, bu yüzden, bu gibi esas olarak R. Listesi dört temel nesneleri
sadece herhangi toplayacak diğer nesneleri istediğiniz.
Yani birine bu depolar kolayca erişebilirsiniz değişken.
>> Yani burada, ben bir liste alıyorum.
Ben şeyler 3 eşittir söylüyorum.
Yani bir eleman olması için gidiyorum Liste, ve bu şeyler denir,
ve değerini 3 sahip olacak.
>> Ben de bir matris oluşturabilirsiniz.
Yani bu 4 ve son satıra 1 2 eşittir, yani 2 2 matrisi ile.
Ayrıca listede ve mat denir.
moreStuff, bir karakter dizesi, kendisi ve hatta başka bir liste.
>> Peki bu 5 ve ayı olan bir listedir.
Bu değeri 5 ve has it Yani karakter dizesi ayısı
ve bir liste içinde bir liste.
Yani bu olabilir özyinelemeli şeyler nerede
Eğer another-- a sahip türü içinde yazın.
Yani benzer, bir matris olabilir Başka bir matris içinde ve böyle devam eder.
Ve bir liste sadece iyi bir yoldur toplama ve toplayarak
Tüm bu farklı nesneler.
>> Ve nihayet, burada sadece durumda yardım edilir Bu sadece çok hızlı bir şekilde gitmişti.
Yani her zaman kafan karıştı fonksiyonunun çeşit hakkında,
Eğer bu işlevi yardım yapabilirsiniz.
Yani yardım matrisi yapabilirsiniz veya bir soru işareti matrisi.
Ve yardım ve soru işareti vardır sadece aynı şey için steno
bu yüzden diğer adlar konum.
>> Lm bir fonksiyonu olduğunu Sadece bir doğrusal model yapar.
Ama sadece nasıl hiçbir fikrim varsa işleri, sadece lm yardım yapabilir
ve bu bazı vereceğim belgelerin tür olduğunu
tür bir gibi görünüyor Unix, adam sayfası
Eğer kısa bir açıklama var ne onun argümanlar da ne yapar,
döndürür ve nasıl sadece ipuçları ne kullanmak, ve bazı örnekler de için.
>> Bu yüzden bana öncesinde ve gösteri gidelim R. OK kullanarak bazı demo.
Yani çok gitti hızlı, sadece veri
yapıları ve çeşit bazı operasyonlarını op--.
İşte bazı fonksiyonlar.
>> Yani burada sadece gidiyorum Bir işlev tanımlamak için.
Yani ben de kullanıyorum Burada atama operatörü,
ve sonra ben söylüyorum bir fonksiyonu olarak ilan.
Ve bu değer x alır.
Yani bu, istediğiniz herhangi bir değer ve ben kendisine x dönmek için gidiyorum.
Yani bu kimlik işlevi.
>> Ve bu konuda serin ne diğer dillere göre
ve başka düşük seviyeli dil o x
herhangi bir türünde olabilir ve bu tür dönersiniz.
Yani bunu izin imagine-- olabilir Bana sadece hızlı çalıştırabilirsiniz.
Özür dilerim.
>> Yani bir şey ben de bahsetmeliyiz Bu editör kullanıyorum olduğunu
rstudio olarak adlandırılır.
Bu bir IDE denir şeydir.
Ve bir şey olduğunu Bu konuda gerçekten güzel
o bir sürü birleştirir olduğunu şeyler başına Ar yapmak istiyorum
Sadece çok sezgisel.
>> Yani burada bir tercüman konsoludur.
Yani benzer, sen de bu alabilirsiniz Sadece sermaye R. yaparak konsol ham
Ve bu tam olarak konsol olarak aynı şey.
Yani sadece id fonksiyonu x, x, x yapabilirsiniz.
Zaten-- ve daha sonra bu ve kendisi iyi olacak.
>> Böylece rstudio büyük bu konsol çünkü.
Ayrıca belgeleri vardır Eğer çalıştırmak istiyorum.
Ve sonra bazı değişkenleri vardır Eğer ortamlarda görebilirsiniz.
Ve sonra, varsa Size daha sonra, araziler yapmak
aksine sadece burada görebilirsiniz Tüm bu farklı pencereler yönetme
başlarına.
>> Ben aslında şahsen Vim kullanın, ama ben rstudio gibi hissediyorum, sadece mükemmel
iyi bir fikir almak için Genellikle R. kullanmak nasıl,
ne zaman çalışıyoruz Bazı yeni görev öğrenir,
Eğer işlemek istemiyorum Bir seferde çok fazla şey.
Yani R, sadece bir very-- rstudio olduğunu öğrenme R çok iyi bir yoldur
ile uğraşmak zorunda kalmadan Tüm bu diğer şeyler.
>> Yani burada koşuyorum id merhaba.
Bu merhaba döndürür.
id 123.
İşte tamsayılar bir vektör.
Yani benzer, yapabilirsiniz, çünkü değer herhangi bir çeşit almak
Eğer id dönen yapabilirsiniz X bu nedenle 1234 ve 5 döndürür.
>> Ve sadece size göstermek bana izin Bu gerçekten bir tam sayıdır.
Ve benzer şekilde, sınıfı yaparsanız id x tamsayı olacak.
Ve sonra, siz de yapabilirsiniz iki karşılaştırmak ve DOĞRU olduğunu.
Yani x ise kimliği kontrol ediyorum eşittir x ve haber eşittir
o size iki TRUEs verir.
Yani bu söyleyerek değil özdeş iki nesne,
ancak girişlerin her biri Vektörler aynı uzaklıktadır.
>> İşte bounded.compare edilir.
Yani bu biraz daha karmaşık ki bu bir eğer durumu vardır ve başka
ve sonra iki alır Bir seferde argümanlar.
Yani x herhangi bir tiptedir.
Ve ben bu söylüyorum İkinci argüman olduğunu.
Bu aynı zamanda her şey olabilir.
Ama varsayılan olarak, bu almaya gidiyor 5 şey belirtmek yoksa.
>> Yani burada söylemek için gidiyorum x daha büyük ise.
Ben bir belirtin yoksa Yani, bunu x, 5'den daha büyük olması durumunda, der
sonra DOĞRU dönmek için gidiyorum.
Başka, ben YANLIŞ dönmek için gidiyorum.
Bu yüzden bana go ahead ve bu açıklayalım.
>> Ve şimdi ben gidiyorum bounded.compare 3 çalıştırın.
Yani 3 daha az olduğunu söylüyor edemememden 5 3'ten fazladır.
Hayır, o kadar YANLIŞ değil.
>> Ve 3. bounded.compare ve ben gidiyorum Bir 2 eşittir kullanarak karşılaştırmak için.
Yani şimdi ben şimdi, evet diyorum Bir başka bir şey olmak istiyorum.
Ben bir söylemek için gidiyorum Yani, 2 olmalıdır.
>> Ben bu tür yapmak ya notasyonu ya da ben bir 2 eşittir söylüyorlar.
Bu bir daha okunabilir ki sen ne zaman
Bu gerçekten bakarak karmaşık fonksiyonlar o
Birden fazla arguments-- ve bu almak onlarca sadece söyleyerek oftentimes-- olabilir
2 için daha okunabilir eşittir Gelecekte böylece daha sonra size
Eğer ne yaptığınızı bilecek.
>> Yani bu durumda, ben söz 2 3'ten fazladır.
Evet öyle.
Ve benzer, ben sadece kaldırabilirsiniz Bu ve söylemek, 2 den 3 büyüktür
nerede 2 eşittir.
Ve bu da DOĞRU var.
Evet?
>> İZLEYİCİ: Are you satır satır yürütme?
>> DUSTIN TRAN: Evet öyleyim.
Peki ben burada yapıyorum olduğunu Bu metni alarak dokümanımızda
ve rstudio olduğunu hakkında büyük ne Ben sadece bir short-- önemli bir kısayol çalıştırabilirsiniz.
Yani Kontrol girin yapıyorum.
>> Ve sonra, ben alıyorum metin belgesinde çizgi
ve daha sonra konsolda koyarak.
Yani burada söylüyorum, bounded.compare ve ben Kontrol-X yapıyorum.
Ben sadece burada da çalıştırabilirsiniz yapabilirsiniz.
Ve o alacağım Daha sonra çizgi ve buraya koydum.
Ve sonra benzer, ben burada koşmak yapabilirsiniz.
Ve o zaman sadece tanımlama tutacak Böyle konsol içine çizgiler.
>> Ve ayrıca kıvırcık fark ederseniz parantezi sadece C sözdizimi gibi vardır.
x-- ise durum aynı zamanda ise, parantez kullanmak için gidiyoruz ve daha sonra
Başka kullanabilirsiniz.
Başka bir else if olduğunu.
Yani bu x olacak örneğin, bir eşittir.
Ve sonra ben gidiyorum Burada bir şey dönün.
>> Iki farklı olduğuna dikkat edin oluyor burada işler.
Bir Ben belirterek ediyorum burada olduğunu değer TRUE döndürür.
İşte ben sadece x söylüyorum.
Yani R varsayılan genellikle olacak Geçen arguments-- almak
veya kod son satırı almak ve o geri ne olacak.
Yani burada bu aynı Dönüş x yapıyor gibi bir şey.
>> Ve sadece sana göstermek için.
Ve o zaman, sadece böyle çalışacaktır.
Yani bana bu devam edelim.
>> Yani başka.
Ve gerçekten, ben dönebilirsiniz İsterdim şey.
Yani ben bile gerek yok Dönüş Booleans her zaman,
Ben sadece başka bir şey dönebilirsiniz.
Yani dönüş ayı yapabilirsiniz.
>> Yani eşittir x eşitse, o ayıyı geri gidiyor.
Aksi takdirde, DOĞRU dönmek için gidiyor.
Ben de bir vektör yapabilir ya da gerçekten bir şey.
>> Ve normalde statik olarak yazılı dilleri,
Burada bir türünü belirtmek zorundayız.
Ve o sadece bir şey olabilir dikkat edin.
Ve R öyle yeterince zeki sadece bu yapacak ve iyi çalışır.
>> Bu yüzden bana bu açıklayalım.
Üzgünüm oh Unexpected--.
Burada bir kaşlı ayraç olmalıdır.
TAMAM MI.
Serin.
Tamam.
Şimdi en 3 karşılaştıralım ve 3 eşittir.
Yani return-- gerekir değer ayı Evet--.
>> Peki şimdi daha genel bir şey gibi ne diğer veri yapıları hakkında.
Yani bu işlevi var.
Bu, herhangi bir tür üzerinde çalışmak için gidiyor 3 ya da herhangi bir sayısal değer gibi,
diğer bir deyişle, çift.
>> Ama bir vektör gibi bir şey hakkında ne.
Peki bunu sanıyor- eğer ben olur 6 diyelim ki, val, 4 atamak olacak.
Yani bu, bu dönerseniz 4, 5, 6 bir vektördür.
>> Şimdi ne görelim Ben yaparsam val bounded.compare.
Yani bu sana 1251 15 verecek.
Diğer bir deyişle Yani, diyor Bu durumda bakarsanız
bu nedenle X daha az olduğunu söyler Bir ya da bir şey daha.
Yani bu hafifçe kafa karıştırıcı çünkü şimdi
Sadece oluyor bilmiyorum.
Yani gerçekten bir şey sanırım Sadece ayıklamak için çalışıyor hakkında iyi
Sadece val büyüktür yapabilirsiniz olduğunu Bir ve orada daha ne olduğunu görün.
>> Peki val-- varsayılan 5 öylesine tarafından Sadece 5'ten büyük Val yapalım.
Yani bu bir vektör YANLIŞ YANLIŞ DOĞRU olduğunu.
Yani şimdi bakıyoruz zaman Bu, o olmadığını söylemek için gidiyor,
ve sonra bu vermek için gidiyor false false bir vektör DOĞRU olduğunu.
>> Yani R, R içine bu geçirdiğinizde Eğer ne yaptığınızı hiçbir fikri yok.
O bir single'ı bekliyor Çünkü Bir Boolean değerdir, ve şimdi
bunu Booleans bir vektör veriyoruz.
Yani varsayılan olarak, R, sadece bir ne halt diyecektim,
Ben sen varsaymak gidiyorum Burada ilk elemanı alacak.
Yani ben gidiyorum say-- gidiyorum Bu YANLIŞ olduğunu varsaymak.
Yani demek oluyor hayır, bu doğru değil.
>> Benzer şekilde, gidiyor val bir eşittir olacak.
Hayır, 5 üzgünüm.
Ve aynı zamanda da yanlış olacak.
Bu yüzden, hayır demek için gidiyor bunun yanı sıra o yüzden DOĞRU değil
Bu sonuncuyu geri gidiyor.
>> Peki bu iyi bir şey ya da kötü ya bir şey, bunu görmek ne kadar bağlı.
Sen ne zaman Çünkü bu işlevleri oluştururken,
aslında neler olduğunu bilmiyorum.
Yani bazen bir hata isterdim, ya da belki sadece bir uyarı istiyorum.
Bu durumda, R, bunu yapmaz.
Yani gerçekten kalmış Eğer kapalı dayalı ne
Eğer dili düşünüyorum Bu durumda yapmanız gereken
Eğer boolean bir vektör geçmek durumunda Bir durumda eğer yapıyoruz.
>> Yani orijinal olduğunu varsayalım bir else if ile DOĞRU dönmek ve sen
YANLIŞ dönmek için gidiyoruz.
Soyutlama Yani tek yönlü Bu ben demek ki
Hatta bu koşullu bir şey gerekmez.
Yapabileceğim başka bir şey sadece bir değerleri kendileri dönen.
Yani fark ederseniz, eğer val 5'ten büyük yapmak,
Bu bir geri gidiyor vektör YANLIŞ YANLIŞ DOĞRU.
>> Belki de bu ne bounded.compare için istiyorum.
Sen boolean bir vektör dönmek istiyor nerede değerlerin her karşılaştırır
kendilerine.
Yani sadece bounded.compare yapabilirsiniz fonksiyon x bir 5 eşittir.
Ve sonra yerine yapıyor Bu else if koşulu,
Ben sadece geri dönmek için gidiyorum x, 5'den daha büyüktür.
Yani o zaman, eğer doğruysa TRUE dönmek için gidiyor.
O değilse Ve sonra, bu kadar YANLIŞ dönmek için gidiyoruz.
>> Ve bunun için çalışacak Bu yapıların herhangi biri olabilir.
Yani 1 6 veya 9 c bounded.compare olabilir ve sonra ben, bir 6 eşittir demek için gidiyorum
örneğin.
Ve o gidiyor size doğru Boole vermek
Eğer tasarlarken vektör.
>> Yani bu sadece fonksiyonlar ve şimdi bana sadece izin
bazı interaktif görseller göstermektedir.
Ben aslında var sanmıyorum Wi-Fi burada çok bana sadece devam edelim
ve sanırım bu bir atlayın.
Serin >> Ama bir şey gerçi olduğunu eğer sadece
Bir demet test etmek istiyorum Farklı veri komutları
Farklı veri setlerinin bir demet var zaten R. önceden yüklenir
Yani bunlardan biri İris veri kümesi denir.
Bu en iyi bilinen biridir Makine öğrenme olanlar.
Genellikle sadece çeşit yapacağım kod çalışır eğer test durumları görmek için.
Yani sadece iris ne olduğunu kontrol edelim.
>> Yani bu şey gidiyor Bir veri çerçevesi olmak.
Ve uzun çünkü tür Ben sadece iris yazdırılır.
Bu tüm şey yazdırarak ediyor.
Yani bütün bu farklı isimler alır.
Yani iris bir koleksiyon Farklı çiçekler.
Bu durumda, bu söylüyor bunu türleri,
Tüm bu farklı genişlikleri ve sepal ve petal uzunlukları.
>> Ve böylece normalde, eğer Eğer, irisini yazdırmak istiyorum
Örneğin, bunu yapmak istemiyorum Bu devralmak çünkü tüm bu yapmak
tüm konsol.
Gerçekten Yani bir şey güzel kafa fonksiyonudur.
Yani sadece başını yaparsanız iris, bu size vereceğim
İlk beş satır, ya da altı sanırım.
Ve sonra iyi, size sadece burada belirtebilirsiniz.
Yani 20-- Bu verecek Eğer ilk 20 satır.
Ve aslında nazikti Bu Bunun şaşırttı
Bana altı yüzden beni go ahead izin verdi ve üzgünüm, iris-- veya kafasını kontrol.
Ve burada verecek Eğer dokümantasyon
değer kafa yapar ne.
Yani ilk döndürür ya da bir nesnenin son.
Ve sonra ben gidiyorum varsayılan bak.
Ve sonra varsayılan diyor yöntem kafa, x ve n 6L eşittir.
Yani bu ilk altı elemanları döndürür.
Ve burada fark benzer, ben n belirtmek yoktu 6 eşittir.
Varsayılan olarak altı kullandığı, sanırım.
Ben istiyorum Ve sonra, belli bir belirtmek için değeri, o zaman ben de bu görebilirsiniz.
>> Yani bazı basit komutlar ve Burada iyi sadece-- başka biri,
Ben bu aslında can-- Biraz daha karmaşık,
ama bu sadece sınıf alacak İris veri kümesi her sütunun.
Yani bu, bu ne her göstereceğim sütun türleri açısından bulunmaktadır.
Yani sepal uzunluğu, sayısal sepal genişliği sayısal olduğunu.
Tüm bu değerler sadece sayısal olarak Bu verilerden söyleyebilirim çünkü
bunlar yapı tüm sayısal gidiyor.
>> Ve Türler sütunu Bir faktör olacak.
Yani normalde, bunu düşünürdüm Bu bir karakter dizesi gibi.
Ama sadece irisSpecies yaparsanız, ve sonra ben, kafa 5 yapacağım
ve bu yazdırmak için gidiyor İlk beş değerleri üzerinden.
>> Ve bu seviyelerde fark.
Yani bu saying-- olan R yoludur kategorik değişkenler sahip.
Yani yerine sadece karakter dizeleri sahip,
bu seviyeleri belirterek vardır Bunlardan hangisinin.
>> Yani irisSpecies 1 diyelim.
Yani burada yapmak istediğim ben ise Bu Türler sütun subsetting.
Yani bu alır Türler kolon ve ardından
bu endeksler ilk elemanı almak için.
Yani bu sana setosa vermelidir.
Ve aynı zamanda burada size seviyeleri verir.
>> Bu yüzden de karşılaştırabilirsiniz karakter setosa bu
ve bu gidiş değil DOĞRU biri çünkü
diğerinden daha farklı bir türüdür.
Ya ben Ar çünkü doğrudur sanırım Bundan daha zeki olduğunu.
Ve daha sonra bu ve bakar belki bu ne istediğiniz, diyor.
Yani karakter söylemek için gidiyor Dize setosa bu aynıdır.
Ve sonra benzer yapabilirsiniz Ayrıca sadece bu yüzden olduğu gibi bu kapmak.
>> Yani sadece bazı tür veri kümesi hızlı komutları.
Yani burada bazı veri arama var.
Yani bu biraz daha veri analizi ile ilgili.
Bu, bazı alınır Berkeley için Ar bootcamp.
>> Yabancı Yani kütüphane.
Yani bir yüklemek için gidiyorum yabancı denir kütüphane.
Yani bu bana verecek read.dta bu yüzden bu veri kümesi olduğunu varsayalım.
Bu, mevcut saklanır Benim konsol çalışma dizini.
Yani sadece görelim ne çalışma dizin.
>> Yani burada benim çalışma dizini var.
Ve nokta verilerini, bu okuma şey, bu dosyayı söylüyor
veri klasöründe bulunan Bu geçerli çalışma dizini.
Bu değildir read.dta Bir varsayılan komut.
Ben zaten yüklenir sanırım.
IEI Ben zaten bu yüklenmiş üstlendi.
>> Ama bu kadar read.dta gitmiyor Bir varsayılan komut olmak.
Ve bu sahip olacak yüzden Bu kütüphanede yüklemek için package--
Bu paket yabancı denir.
Ve sen yoksa paket, sanırım
Yabancı yerleşik olanlardan biridir.
Aksi takdirde, siz de yapabilirsiniz install.packages yapmak
ve bu paketi yüklemek olacaktır.
Ve bu hayır, size R. Uh verecektir.
Ve sonra ben sadece durdurmak için gidiyorum Bu zaten o var çünkü.
>> Ama Ar ilgili gerçekten güzel ne paket yönetimi olduğunu
Sistem çok şık.
Her şeyi saklamak Çünkü Gerçekten güzel senin için.
Yani bu durumda, depolamak olacak içeri, ben inanıyorum, burada bu kütüphane.
>> Yani her zaman istediğiniz Yeni paketlerini yüklemek,
o kadar basit install.packages yapıyor
ve R tüm yönetecek Sizin için paketler.
Yani bir şey yapmak zorunda değilsiniz Harici bir paket var Python,
kağıt gibi yöneticileri Anaconda nerede sen
Yüklemek doing-- Python dışında paketleri
ve daha sonra bunları kendiniz çalıştırmayı deneyin.
Yani bu gerçekten güzel bir yoldur.
>> Ve install.packages internet gerektirir.
Bir sunucudan alır ve depo o
toplar bütün paketleri CRAN olarak adlandırılır.
Ve aynaya hangi tür belirtebilirsiniz Eğer paketleri indirmek istiyorum.
>> Yani burada ben bu dataset alıyorum.
Bu fonksiyonu kullanarak bunu okuyorum.
Bu yüzden bana go ahead ve bu yapalım.
>> Yani varsayalım Bu veri kümesi var
ve kesinlikle var ne hiçbir fikrim yok.
Ve bu aslında gelir oldukça sık sanayide
sadece bu var burada ton ve dağınık şeyler ton
ve onlar inanılmaz etiketsiz konum.
Yani burada bu var veri kümesi ve ben bilmiyorum
ne yani ben sadece kulüpler bunu kontrol etmek gösteren.
>> Yani ilk baş yapacağım.
Bu yüzden ilk altı kontrol Bu veri kümesi ne sütunları.
Yani bu daha sonra devlet, pres04 ve bir sütun tüm bu farklı sıralama.
Ve ne ilginç Burada, sanırım, senin olduğunu
Bu görünüyor farz ediyorum seçim çeşit gibi.
Ve ben sadece gelen tahmin dosyasına bakarak
isim, bu koleksiyonun çeşit adaylar veya seçmen ilgili verilerin
kim Belirli başkanları için oy veya başkan adayları
2004 seçimleri için.
>> Yani burada değerleri 1, 2 böylece depolama tek yönlü
Başkan adayları onların isimleri.
Bu durumda, bu gibi görünüyor onlar sadece tamsayı değerlerini konum.
2004 Yani, Bush oldu Kerry karşı inanıyorum.
Ve şimdi, diyelim ki sadece bilmiyorum diyelim Bush veya 2 1 tekabül olsun
Kerry veya karşılık gelen ve böylece ve benzeri, değil mi?
>> Ve bu sadece benim için, bir, oldukça yaygın bir problemdir.
Yani bu durumda ne yapabilirim?
Yani tüm bu diğer şeyleri kontrol edelim.
>> Devlet, ben bu varsayarak yaşıyorum Farklı devletler geliyor.
partyid, gelir.
En partyid bakalım.
Yani belki yapabileceğiniz bir şey gözlemler her bakmak
Bu Cumhuriyet bir partyid var Demokrat falan ya.
Yani sadece ne partyid bakalım.
>> Yani almaya gidiyorum dat ve sonra ben gidiyorum
Bu dolar işareti yapmak Ben daha önce yaptım operatör
ve bu gidiyor Bu sütuna alt bileşenlerine.
Ve sonra ben bu baş gidiyorum 20, sadece bu neye benzediğini görmek için.
>> Yani bu UA sadece bir demet.
Yani diğer bir deyişle, var Bu adamlar hakkında veri eksik.
Ama aynı zamanda bu fark DAT partyid bir faktördür
bu yüzden bu size farklı kategoriler verir.
Bu yüzden, diğer bir deyişle partyid sunar Bağımsız Demokrat, Cumhuriyetçi,
ya da başka bir şey.
>> Yani go ahead ve atalım izin bkz bu o-- oh, Tamam hangi.
Yani subsetine gidiyorum Daha sonra partyid ve
olanlar hangi bakmak Demokratla, örneğin.
Bu, size bir Boole verecek doğruları ve FALSEs büyük bir Boole.
>> Ve şimdi, en istediğim diyelim Bu adamlar subsetine.
Yani bu benim dat almaya gidiyor ve alt kümesi hangisi gözlemler için
partyid eşittir sahip Demokrat eşittir.
Ve bu, çünkü oldukça uzun Onların o kadar çok var.
Yani şimdi, ben 20 bu kafa gidiyorum.
Fark olarak >> Ve, eşittir eşittir sen ki ilginç
already-- ayrıca Nas dahil ediyoruz.
Yani bu durumda, yine alınamıyor herhangi bir bilgi şimdi Nas var çünkü
ve sadece görmek istiyorum hangi Gözlem Demokrat uygun
ve bu eksik değil kendilerini değerleri.
Peki bu UA kurtulmak istiyorsunuz?
>> Yani burada sadece yukarı tuşunu kullanarak yaşıyorum benim imleç ve sonra etrafında hareket söyleyerek.
Ve sonra burada ben sadece gidiyorum is.na datpartyid demek.
Yani bu ve ve alacak iki farklı mantıksal vektörler
ve olacak demek DOĞRU ve örneğin YANLIŞ.
Yani bu bileşeni-bilge yapacak.
Yani burada take söylüyorum veri çerçevesi, alt kümesi
Demokrat uygun olanlar, ve NA olmadığını bunlardan herhangi çıkarın.
>> Peki bu will-- gerekir Sana bir şey vermek.
En is.na. görelim
En is.na datpartyid deneyelim.
Ve bu sen-- vermelidir Sadece bir Boole vektör sorry--.
Ve sonra, bu kadar uzun çünkü, Ben 20 subsetine gidiyorum.
TAMAM MI.
Yani bu çalışması gerekir.
>> Ve bu da doğruları olacaktır.
Ah, işte benim hata olduğunu Ben-- Ben C ++ ve R birbirinin yüzden yapmak kullanmak
Bu hata her zaman.
ve operatörüdür Aslında istediğiniz bir.
Sen iki kullanmak istemiyorum ve işaretleri, sadece bir tane.
TAMAM MI.
>> Peki bakalım.
Yani biz altkümelenir partyid onlar demokrat olduğunu nerede
ve onlar değerleri eksik değil.
Ve şimdi bakalım oldukları için oy olanlar.
Yani çoğu gibi görünüyor Bunlardan 1 oy.
Yani ben önde gitmek için gidiyorum ve bu Kerry olduğunu söylüyorlar.
>> Ve benzer şekilde, yapabilirsiniz Ayrıca Cumhuriyet gitmek
ve umarım, bu size 2 vermelidir.
Farklı sütun sadece bir avuç.
Ve gerçekten de, bu 2 var.
Yani, tüm Cumhuriyetçi partyid çoğu 2 için oy veriyor.
>> Yani sadece gibi görünüyor Bu bakarak,
Cumhuriyetçi olacak Bir very-- veya partyid
Bir çok olacak belirlenmesinde büyük faktör
Hangi aday they oy gidiyor.
Ve bu genel kuşkusuz doğrudur.
Ve bu, sizin maçlar sezgi, tabii.
Yani ben gibi görünüyor böylece zaman tükeniyor
bana sadece önde gitmeli izin ve bazı hızlı görüntüleri göstermek.
Yani burada biraz var şey Daha fazla görselleştirme ile komplike.
Yani bu durumda bu bir çok, Sadece kontrol basit analizi ne
'04 başkanıdır.
>> Bu durumda Yani, seni diyelim Bu soruyu cevaplamak istedim.
Bu yüzden oylama bilmek istedim varsayalım 2004 başkanlık seçiminde davranış
ve bu yarışta göre değişir nasıl.
Yani sadece sen istiyorsun , oylama davranışı görmek
ancak her subsetine istiyorum ırk ve tür olduğunu özetlemek.
Ve sadece söyleyebilirim Bu karmaşık gösterimde tarafından
Bu o tür puslu oluyor.
Daha gelişmiş Ar >> Yani bir Son tür de var paketler
dplyr olarak adlandırılır.
Yani burada bu biridir.
Ve ggg-- ggplot2 sadece güzel Daha iyi görselleştirme yapmanın yolu
Yerleşik bir daha.
>> Yani yüklemek için gidiyorum Bu iki kütüphaneler.
Ve sonra, ben gidiyorum önde ve bu komutu çalıştırın.
Sen sadece bir kara kutu olarak bu davranabilirsiniz.
>> Ne oluyor var bu boru olduğunu Operatör, bu argüman geçiyor
Burada içine.
Yani dat grubu tarafından söylüyorum ırk ve ardından cumhurbaşkanı 04.
Ve sonra, bütün bu diğer komutlar filtreleme ve daha sonra özetleme olan
nerede sayısını yapıyorum ve sonra ben burada komplo ediyorum.
Serin Tamam.
Yani öncesinde gidelim ve Bu neye benzediğini görmek.
>> Peki burada oluyor ki I Sadece o ırklar ve her çizilen
oldukları için oy olanlar.
Ve bu iki farklı değerleri 2 ve 1 gelmektedir.
Daha olmak istiyorsanız Zarif, siz de yapabilirsiniz
sadece 2 Kerry-- ya da belirtmek 2 Bush ve daha sonra 1 Kerry.
Ve ayrıca olabilir sizin efsane o.
>> Ve aynı zamanda bu çubuk grafikler ayırabilirsiniz.
Bir şey olduğundan Bu, dikkat ederseniz,
Bu tanımlamak çok kolay değil Bu iki değerler daha büyüktür.
Yani bir şey isterdim yapmak bu mavi bölgeyi take
ve sadece sizin işte o üzerinde hareket yan bu iki yan karşılaştırabilirsiniz.
Ve ben o bir şey sanırım Şu anda yapmak için zaman yok,
ama bu da yapmak çok kolay.
Sadece içine bakabilirsiniz ggplot adam sayfaları.
Yani gibi ggplot yapabilirsiniz Bu ve bu adam sayfaya okuyun.
>> Yani sadece hızlı bir şekilde bana izin bazı güzel şeyler gösteriyor.
En önde gidin ve sadece bir amaçlara yönelik gidelim Makine öğrenme uygulaması.
Yani bu üç var diyelim paketleri yüzden bu yüklemek için gidiyorum.
Yani bu sadece bazı yazdırır bilgiler şey yüklü sonra.
Yani bu read.csv söylüyorum, Bu veri kümesi, ve şimdi
Ben gitmek önde ve bakmak ve gidiyorum Bu veri kümesi içinde ne olduğunu görmek.
>> İlk 20 gözlemler Yani.
Yani sadece Yani X1, X2, ve Y. var Bu değerlerin bir grup gibi görünüyor
belki 20 ila 80 ya da öylesine kadar vardır.
Ve bundan sonra benzer şekilde X2 ve daha sonra Bu Y etiketleri 0 ve 1 gibi görünüyor.
>> Bu doğrulamak için, elimden Sadece özet verileri X1 yapmak.
Sonra Benzer için Tüm bu diğer sütunlar.
Yani özet hızlı bir şekilde biridir Sadece size hızlı değerlerini gösteren.
Ah, üzgünüm.
Bu, bir Y olmalıdır
Yani bu durumda >> verir kantilleri, medyan, hem de maxes.
Bu durumda, VeriY görebilirsiniz sadece 0 ve 1 olacak ki.
Ayrıca ortalama söylüyor 0.6, sadece anlamına gelir
Ben 0 ların daha fazla 1s var gibi görünüyor.
>> Bu yüzden bana öncesinde ve gösteri gidelim Eğer bu gibi göründüğünü.
Yani sadece bu arsa için gidiyorum.
Şimdi bu temizlemek için nasıl görelim.
Tamam Ah.
TAMAM MI.
>> Peki bu neye benzediğini olduğunu.
Yani ben Belirtilen sarı gibi görünüyor 0 ve sonra kırmızı gibi 1s olarak belirtilmiş.
Yani burada gibi görünüyor Etiket noktaları ve
Eğer sadece bazı istediğin gibi görünüyor Bu konuda kümelenme tür.
>> Ve bana sadece önde ve gösteri gidelim Bu yerleşik fonksiyonları bazı.
Yani burada lm.
Yani bu sadece çalışıyor Bu bir çizgi sığdırmak için.
Peki en iyi yolu Ben bir çizgi gibi sığabilecek ki
Bu en iyi olarak ayrı olacağı Kümelenme bu tür.
Ve ideal, sadece görebilirsiniz Ben sadece tüm bu komutları çalıştırmak
ve sonra, ben gidiyorum önde ve satır ekleyin.
>> Peki bu iyi tahmin gibi görünüyor.
Bu en aza indirir en iyisini alıyor Bu çizgiyi uyacak çalışırken hata.
Açıkçası, bu tür görünüyor İyi, ama en iyisi değil.
Ve doğrusal modeller, içinde genel olacak
teori ve sadece tür gerçekten harika Makinenin bina temelleri
öğrenme.
Ancak uygulamada, sen gidiyorsun Daha genel bir şey yapmak istiyorum.
>> Yani sadece çalışan deneyebilirsiniz bir şey bir sinir ağı denir.
Bunlar şunlardır giderek daha yaygın.
Ve onlar sadece fantastik çalışmak Büyük veri setleri için.
Bu nedenle, bu durumda, sadece have-- en biz sat_say var see-- edelim.
Yani sat_say sadece satır sayısını söylüyor.
Ben, bu durumda Yani 100 gözlem var.
>> Bu yüzden bana öncesinde gidelim ve bir sinir ağı yapmak.
Yani bu gerçekten güzel Ben sadece -NMR söyleyebilirim çünkü
ve sonra ben Y. gerileme ediyorum Yani Y, O sütun.
Ve sonra gerileme Diğer iki değişken.
Yani bu kısa X1 ve X2 için gösterim.
>> Yani go ahead ve bu çalışmasına izin.
Ah, üzgünüm.
Ben bu şeyi çalıştırmak gerekir.
Ve bu sadece gösterimde yazdırıyor ne kadar hızlı ya da çok hızlı değil için
yaklaşmıştır.
Yani o yakınsama yaptım gibi görünüyor.
Bu yüzden bana öncesinde ve baskı gidelim Bu gibi göründüğünü dışarı.
>> Buraya bakın burada bir resim var ve o uyuyor ne kadar iyi gösteren bir kontur.
Ve bu gördüğünüz sadece-- olduğunu bu çok, çok güzel olduğunu.
Hatta olabilir Ayrıca yapabilirsiniz overfitting, ancak
Diğer bu hesaba çapraz doğrulama gibi teknikler.
Ve bunlar da R. yerleşiktir
>> Ve sadece size göstermek bana izin vektör makinesi desteği.
Bu başka gerçekten yaygındır Makine öğrenme tekniği.
Bu, doğrusal modeller çok benzer, ancak Bir çekirdek yöntemi ne denir kullanır.
Ve yok ki ne kadar iyi görelim.
Yani bu bir nasıl çok benzer iyi bir sinir ağı, gerçekleştirir
ama çok daha pürüzsüz var.
Ve bu kapalı dayanır ve nasıl DVM çalışmalarını ne--.
>> Yani bu sadece çok olduğunu Bazı hızlı bakış
yerleşik fonksiyonları yapabileceğiniz ve ayrıca veri keşif bazılarıdır.
Yani bana sadece devam edelim ve slaytlar geri dönmek.
>> Yani açıkçası, bu çok kapsamlı değil.
Ve bu gerçekten sadece bir teaser olduğunu Eğer gerçekten R. neler yapabileceğini gösteren
Yani sadece isterseniz Burada, daha fazla bilgi için
Farklı kaynakların bir demet.
>> Eğer ders kitaplarının düşkün konum ya da eğer Yani sadece online şeyleri okuma düşkün,
o zaman bu bir fantastik Hadley Wickham tek,
Ayrıca oluşturulan her kim bu gerçekten harika paketler.
Eğer videolar düşkün iseniz, o zaman Berkeley harika bir bootcamp var
Bu tür uzun olduğunu several-- budur.
Ve neredeyse sana öğretecek her şey R. hakkında bilmek istiyorum
>> Ve benzer şekilde, Codeacademy var ve tüm bu diğer tür
interaktif web siteleri.
Onlar da alıyorsanız Daha fazla ve daha sık common--.
Yani bu Codeacademy çok benzer.
Ve son olarak, eğer sadece Topluluk istiyor ve yardım,
Bu bir demet Eğer gidebilirsiniz şeyler.
Açıkçası, biz hala Sadece, posta listeleri kullanın
hemen hemen her gibi başka programlama dili topluluk.
Ve #rstats, bu Bizim toplum Twitter.
Bu aslında oldukça yaygındır.
Ve sonra kullanıcı!
Sadece bizim konferanstır.
>> Ve sonra, tabii ki, can Tüm bu diğer Q & A şeyler kullanın,
Yığın taşması gibi, Google, ve sonra GitHub.
Bu paketlerin çoğu Çünkü ve toplumun bir çok
Gelişmekte etrafında merkezli olacak kod açık kaynak çünkü.
Ve GitHub üzerinde sadece gerçekten güzel.
Ve son olarak, eğer bana ulaşabilirsiniz Sadece herhangi bir hızlı sorularım var.
Yani burada Twitter'da beni bulabilirsiniz, Web sitem, ve sadece benim e-posta.
Yani umarım, oldu şey-- sadece kısa bir teaser
Ne R yapıyor gerçekten yetenekli olduğunu.
Ve umarım, sadece Bu üç bağlantıları kontrol
ve daha neler yapabileceğini görmek.
Ve ben sadece bu konuda sanırım.
Teşekkürler.
>> [Alkış]