CONNOR HARRIS: Hala bazı heyecan verici bir video düşünmek
Profesyonel danışmanlık tarafından üretilen O R çalışmalarında çok kullanır.
>> ANLATICI: istatistiklerin arkasında ne var, analitik ve görsel
Bugünün parlak veri bilim adamları ve iş dünyası liderleri güveniyor
Güçlü kararlar?
Sen her zaman göremeyebilirsiniz.
Ama var.
Bu R denir, açık kaynak r-- İstatistiksel programlama dili
veri uzmanları, dünya Her şey için kullanımı üzerinde
Sosyal geniş haritalama Online ve pazarlama trendleri
mali ve iklimi geliştirmek için Bizim ekonomilerini sürücü yardımcı modeller
ve topluluklar.
>> Ama tam olarak R nedir ve burada R başladınız?
Peki aslında, R başladı Burada iki profesör ile
Kim daha iyi bir istatistik istedi öğrencileri için bir platform.
Yani tek modellenmiş yarattı İstatistiksel dili S. sonra
Onlar, diğerleri ile birlikte, üzerinde çalışıyor ve Ar kullanarak tuttu,
R için araçlar oluşturma ve bulma R için yeni uygulamalar her gün.
>> Bu sayede ise Dünya çapında topluluk çaba,
R binlerce büyüyen tuttu Dahili kullanıcı tarafından oluşturulan kütüphanelerin
R işlevselliğini artırmak için ve kalabalık kaynaklı kalite doğrulama
ve en tanınmış destek her alanda endüstri liderleri olduğunu
R., çünkü harika Hangi kullanır R o ne yaptığını iyi olur.
Hızla uzmanlar tomurcuklanma ve Kolayca yorumlamak, etkileşim,
ve hızla onların gösteren verileri görselleştirmek Dünya çapında R kullanıcılarının artan toplum
ve ne kadar açık kaynak bakın R şekil devam ediyor
İstatistiksel geleceği analiz ve veri bilimi.
>> CONNOR HARRIS: Tamam, harika.
Kendi sunum Yani biraz daha ayık olacak.
Bu bu kadar dahil olmayacak Heyecan verici arka plan müziği.
Eğer video gördüğümüz gibi, R tür genel amaçlı bir programdır dili.
Ancak çoğunlukla oluşturulmuş İstatistiksel çalışma için.
>> Yani istatistikler için tasarlanmıştır, veri madenciliği için veri analizi için.
Ve böylece bir sürü görebilirsiniz tasarım seçenekleri o R yapımcıları
yaptı.
Bu, büyük ölçüde için tasarlanmıştır olmayan insanlar
programlama uzmanları, kim Sadece programlama toplayıp vardır
tarafında yani onlar işlerini yapabilir sosyal bilimler ya da istatistik
ya da her neyse.
>> Çok bir yeri vardır C arasında önemli farklılıklar
Sözdizimi ve paradigmalar ancak o kullandığı ölçüde aynıdır.
Ve oldukça hissetmeniz gerekir yarasa kapalı evde çok.
Bu bir zorunluluk dil.
>> Bu konuda çok fazla endişe etmeyin terimini bilmiyorum.
Ama bir ayrım var zorunluluk, Declarative arasında,
ve işlevsel.
Emir sadece yapmak anlamına gelir temelde komutları olan deyimleri.
Ve sonra tercüman ya da Bilgisayar teker teker izler.
Bu zayıf vardır, yazdığınız var R. hiçbir tür bildirimler
>> Sonra yollar farklı türleri arasında
biraz daha gevşek daha vardır bunlar, örneğin, C cinsindendir.
Ve ben orada söylediğim gibi çok geniş olanaklar
grafik için, istatistik Veri madenciliği için analiz.
Bunlar hem yerleşik olan dil ve video dediği gibi,
Üçüncü parti kütüphaneler binlerce olduğunu indirebilir ve ücretsiz olarak kullanabilirsiniz
Çok gevşek lisans koşullarına.
>> Yani genel olarak, ben tavsiye ederim Bu iki kitap bakmak
R. One üzerinde çalışmak için gidiyoruz eğer Bunların resmi R acemi en olduğunu
kılavuz.
O tarafından sürdürülür R. çekirdek geliştiricileri
Sen yine ücretsiz indirebilirsiniz Oradaki bağlantıyı yasal ücret ve.
Tüm bu slaytlar gitmek için gidiyoruz internette yukarı, CS50 sitesinde
Bundan sonra yapılır.
Yani gerek kopyalamak çılgınca şeyler düştü.
>> Diğeri bir Cosma Shalizi tarafından ders kitabı,
Bir istatistik profesörü de kim Carnegie Mellon, İleri Veri denilen
Bir Analysis View İlköğretim Noktası.
Bu prensip bir R kitap değildir.
Bu bir istatistik kitap ve Bir veri analiz kitabı.
Ama bu insanlar için çok erişilebilir kim istatistik bilginin bir nebze var.
>> Ben resmi bir ders almış hiç.
Ben sadece ufak tefek biliyorum Çeşitli müttefik konulardan
ben dersleri aldım.
Ve anlıyorum başardı mükemmel iyi.
>> Tüm rakamlar verilmektedir R. Onlar Ar yapılır
ve onlar da kod listeleri var Her şeklin altında size o
nasıl R kodu ile her figürü yapmak.
Ve eğer çok kullanışlı Eğer taklit etmeye çalışıyoruz
Bir kitapta gördüğünüz bazı rakam.
>> Ve yine ücretsiz indir Üzgünüm stat.cmu.edu/cshalizi/
Bu yaklaşık işareti cshalizi çizgi olmalıdır.
Bunu düzeltmek için emin olacağım Resmi slaytlar yukarı giderken.
Sadece bir / ADAfaEPoV kitabýnýzýn kısaltması.
>> Yani genel caveats-- R yetenekleri bir yeri vardır.
Ben sadece karşılamak için muktedir gidiyorum bir çok şey yüzeyi.
Seminerin Ayrıca birinci bölümü Bir veri dökümü şey olacak.
Ben bu konuda oldukça üzgünüm.
Temelde, ben gidiyorum bir çok şey size tanıtmak
yarasa kapalı, gidiyor olabildiğince çabuk.
Ve sonra biz almak olan eğlenceli kısmı,
Sana her şeyi göstermek demo Biz ekranda konuştuk ettik.
Ve kendi etrafında oynayabilir.
Yani bir sürü var oluyor Teknik şeyler burada atılmış.
Tüm bu aşağı kopyalama endişe etmeyin.
A Çünkü alabilirsiniz tüm Daha sonra CS50 web sitesinde şeyler.
Ve B, gerçekten önemli değil slaytlar bu ezberlemek.
Bunu almak daha önemli onunla bazı sezgisel tesis
ve bu sadece uğraşırken geliyor.
>> Peki neden R kullanabilir miyim?
Temelde, bir proje varsa o Büyük veri setleri madencilik içerir, veri
görselleştirme, sen Eğer konum R. kullanmalısınız
karmaşık istatistiksel analiz yapma, Bu, Excel için zor olurdu
Örneğin, öyle ayrıca good-- edilmesi
Eğer istatistik yapıyoruz Otomatik oluyor analizi.
Diyelim ki bir web sitesinin bakımı diyelim.
Ve sunucu günlüğü okumak istediğiniz Her gün ve bazı listesini derlemek
Üst ülkeler gibi bu Kullanıcıların, geliyor
ne kadar bazı özet istatistikleri onlar web sitenize ya da her neyse harcama.
Ve her gün bu çalıştırmak istiyor.
>> Şimdi Excel'de yapıyorsan, Eğer, sunucu günlüğüne gitmek olurdu
Bir içine almak Excel veri elektronik tablo,
elle tüm analizleri çalıştırın.
R ile, sadece tek bir komut dosyası yazabilirsiniz.
Her gün çalıştırmak için planlayın işletim sisteminden.
Ve sonra 2:00 am her gece, veya çalıştırmak için zamanlama her zaman,
içinden bakacağız senin O gün için internet trafiği.
Ve sonra ertesi gün, sen olacak Bu parlak, yeni bir rapor var
tümü ile ya da her türlü bilgileri istedi.
>> Yani temelde R Cisco için Cisco analizi karşı programlama.
Ön yapılır.
Gerçek şeylerin içine dönelim.
Yani üç Gerçek vardır dilde türleri.
Sayısal tip var.
Arasındaki farkın çeşit var tamsayılar ve kayan noktalar,
ama gerçekten.
Bir karakter var dizeleri, hangi yazın.
Ve mantıklı var Boolean olan yazın.
>> Ve türleri arasında dönüştürebilirsiniz Sayısal olarak bu fonksiyonları kullanarak,
Mantıksal olarak karakteri olarak.
Eğer ararsan, örneğin, Bir dize sayısal olarak,
o dize okumak için çalışacağız bir dizi aynı yolu olarak
Bu A2I ve scanf yapmak, ve C ise Eğer doğru veya yanlış üzerine sayısal olarak çağrı
bu 1 veya 0 çevirecektir.
Eğer karakter olarak ararsanız bir şey o olacak
Bir içine dönüştürmek dize gösterimi.
>> Sonra vektörler ve matrisler bulunmaktadır.
Yani vektörler temelde 1 boyutlu diziler.
Onlar biz diziler dediğimiz C. Matrisler, 2 boyutlu diziler.
Sonra daha yüksek boyutlu diziler yapabilirsiniz
3, 4, 5 boyutları ya da her neyse var sayısal değerler, dizeleri,
mantıksal değerler.
>> Sen de vardır listeleri vardır ilişkisel dizi bir tür.
Ben biraz içine alırsınız.
Yani önemli bir şey O R insanları gezileri
herhangi olmasıdır Gerçek, saf atom türleri.
Hiçbir gerçek ayrım var Bir numara, sayısal bir değer olduğu gibi,
sayısal değerler ve bir liste.
Sayısal değerler aslında uzunluğu 1 vektörlerin aynı.
Bu bir dizi vardır önemli etkileri.
Bir, o yapabileceğiniz anlamına gelir dahil çok kolay şeyler
Bir vektör bir numara ekleme gibi.
R olacak temelde şekil dışarı Bununla ne demek.
Ve ben bir saniye içinde o kadar alırsınız.
Aynı zamanda hiçbir yolu yok demektir type ölçüde checker--
Böyle bir şeyin anlatmak için r-- var
Tek değer ilettik zaman bir dizi ya da tam tersi beklediği zaman.
Ve bazı garip neden olabilir Ben ne zaman koştu sıkıntılar
Benim yaz işi sırasında R kullanıyordum.
Ve hiçbir karma tip diziler vardır.
Yani bir dizi olduğunu olamaz İlk elemanları, bilmiyorum edilir
string "John" ve İkinci unsur numarası 42 olduğunu.
Bunu yapmayı denerseniz, o zaman alırsınız her şey sadece bir dizeye dönüştürülür.
Yani biz dize John, dize 42 var.
>> En features-- kadar sıradışı söz dizimi R sözdizimi C'ye çok benzer
Bir kaç önemli farklar vardır.
Yazma çok zayıf.
Yani hiçbir değişken bildirimleri vardır.
Atama garip kullanır Hata operatörü tire daha azdır.
Yorumlar karma işareti bulunmaktadır.
Ben hashtag diyoruz günler artık sanırım bu gerçekten değil ama değil accurate--
çift ​​eğik çizgi.
>> Modüler kalıntılar %% işaretleri ile vardır.
Tamsayı bölümü% /% ile yansıtılan ne zaman okumak çok zor
ekranda.
Sen aralıklarını alabilirsiniz kolon ile tamsayılar.
Yani 2,5 sana bir vektör verecek Tüm numaralar 2 ile 5 arasında.
>> Diziler tek endeksli olan, hangi vida bir sürü insan
Onlar daha fazla iseniz kadar Tipik programlama dilleri,
nerede C, gibi en şeyler sıfır endeksli bulunmaktadır.
Yine, bu nereye R'ın miras gibi değil bir dil olarak
profesyonel programcılar geliyor.
Bir sosyolog iseniz veya Bir ekonomist falan
ve kullanmak için çalışıyoruz R, temelde bir yardımcı olarak
senin daha önemlisi profesyonel iş,
bulmak için gidiyoruz Biraz daha doğal bir endekslenmesi.
Eğer saymaya başlayın Çünkü günlük yaşamda 1 değil 0.
>> For-döngüler, bu benzer foreach, PHP inşa
Eğer alırsınız hangi Çok yakında açmayız öğrenirler.
Hangi vektör değeri için ve o zaman değeri ile şeyler yapabilirsiniz.
HEDEF KİTLE: Bu derste kadar geldi.
CONNOR HARRIS: Oh, işte mükemmel, ders gel.
HEDEF KİTLE: atama, öyle sağdan sola doğru işaret gerekiyordu?
CONNOR HARRIS: sağa sola From, evet.
Üzerinde değeri olarak düşünmek olabilir değişken içine itti hakkı
soldaki.
HEDEF KİTLE: Tamam.
>> CONNOR HARRIS: Son olarak işlevi sözdizimi biraz garip.
Fonksiyon adı foo, atanmış Bu kelime fonksiyonu, ardından
sonra tüm argümanlar tarafından Bundan sonra fonksiyonun gövdesi.
Yine bunlar olabilir biraz tuhaf görünüyor.
Onlar sonra ikinci doğa olacaksın Eğer biraz dil ile çalışmak.
Vektörlerin Yani, yolu Bir vektör inşa
Bir anahtar kelime size C tipi, daha sonra, bir istediğiniz tüm numaralar veya dizeleri
ya da her neyse.
Bağımsız değişkenler de vektörler.
Ama ortaya çıkan dizi düzleştirilmiş alır.
Yani diziler nerede olamaz bazı unsurlar tek sayılar
ve bazı öğeler diziler kendileridir.
>> Bir inşa çalışırsanız eğer öyleyse Dizi ilk unsur 4'tür edildi
ve ikinci eleman Dizi 3,5 sen edeceğiz olduğunu
Sadece, 4,3,5 üç element dizi olsun.
Bunlar karışık tip olamaz.
Eğer okumak veya yazmak çalışırsanız bir vektörün sınırlarının dışına
Eğer NA olarak adlandırılan bu değeri alırsınız hangi bir eksik değeri duruyor.
Bu yöneliktir istatistikçiler gibi kim
eksik veri setleri ile çalışıyoruz.
>> Eğer gerekiyor bir işlevi uygularsanız bir dizi sadece bir numara almak için
o zaman ne alırsınız, bir Fonksiyon dizi üzerinde eşler.
Senin işlevi en götürür diyelim Yani Bir numara ve döner onu kare.
Sen dizisine 2,3,5 o uygulanır Ne alırsınız dizi 4,9,25 olduğunu.
>> Ve bu çok kullanışlı Seni anlamına gelir, çünkü
için döngüler için yazmak zorunda değilsiniz uygulanması gibi çok basit şeyler yapıyor
Bir veri kümesinin tüm üyelerine bir işlev.
Hangi büyük çalışıyorsanız veri setleri, bir çok şey yapmak zorunda.
İkili fonksiyonlar girişi ile uygulamalı giriş.
Ben içine alırsınız.
Sen dizilerle erişebilirsiniz Köşeli parantez veya vektörler.
Yani vektör adı köşeli parantez 1 Size ilk elemanı verecektir.
Vektör adı köşeli parantezler 2 Size ikinci elemanı verecektir.
>> Bir vektör üzerinde geçebilir ve endeksleri siz edeceğiz
geri temelde bir alt faktör dışında olsun.
Yani vektör adı parantez C yapabilirsiniz 2,4 ve içeren bir vektör dışarı alırsınız
ikinci ve dördüncü dizinin öğeleri.
Ve isterseniz sadece Hızlı özet istatistik
interkartil gibi vektör aralık, medyan, maksimum, ne olursa olsun,
Sadece özetini yazabilirsiniz Vektör adı ve çık.
Bu gerçekten yararlı değil programlama ama oynuyorsanız
veri setleri etrafında, bu kullanışlı.
>> Temelde Matrices-- yüksek boyutlu diziler.
Onlar bu özel gösterimde sözdizimi vardır.
Alır bir dizi ile Matrix verilerle üzgünüm, matrisin açmayız dolu
satır sayısı, sütun sayısı.
Bazı veriler var, bu doldurur dizi temelde yukarıdan aşağıya gidiyor
ilk.
Sonra sağa sola.
Yani, böyle.
Ve R inşa etti matris çarpma,
spektral ayrışım, köşegenleştirilmesi, bir çok şey.
Eğer yüksek boyutlu istiyorsanız dizileri, yani, 3, 4, 5,
ya ne olursa olsun boyutlar yapabilirsiniz.
Sözdizimi dizisi loş c eşittir olduğunu, Daha sonra boyutların listesi.
Bir 4 boyutlu bir dizi istiyorsanız boyutları 4, 7, 8, 9, dizi,
Loş c (4,7,8,9) eşittir.
>> Sen parantez tek değerlerine erişilebilir İlk giriş virgül ikinci giriş.
Sen tüm dilimleri alabilirsiniz satır veya sütunların.
Bu eksik sözdizimi sayesinde var Sadece sayı virgül veya virgül sütunu satır
sayısı.
Yani listeler ilişkili dizinin bir türüdür.
Onlar burada kendi sözdizimi vardır.
Yine çılgınca yok Bütün bu aşağı kopyalayın.
Bu sadece bu yüzden insanlar Daha sonra slaytlar geçiyor
tüm güzel referans bu var.
Ve bu çok doğal bir kez olacak Aslında demolar üzerinden yürümek.
Bu nedenle, temelde ilişkili diziler listeler.
Sizinle değerlerine erişebilirsiniz Liste adı, dolar işareti, tuşuna basın.
Listenizi foo adlı Yani, o zaman böyle erişebilirsiniz.
Tüm bir anahtar-değer çifti alabilirsiniz köşeli ayraç endeksinde geçerek.
Eğer varolmayan dan okursanız anahtar, null alırsınız.
Bu hata olmaz.
Şey R olarak yapacak, bir olabildiğince null çok.
Ve bu eğer anlamına gelebilir boş çıkmak beklemiyordum
Bazı liste okuma, bazı alırsınız daha da aşağı öngörülemeyen hatalar
çizgi.
>> Bu başıma benim Yaz iş ne zaman R kullanıyordum
Ben nasıl belli değişti nerede Liste tek bir noktada tanımlandı
ancak daha sonra değişmedi ondan değerleri okumak kodu.
Ve böylece ne oldu ben oldu Bu listenin dışında null değerleri okuma,
fonksiyonları içine geçirerek, ve çok karışık olmak
Ben her türlü var rastgele sonsuzluklar kadar kırpma
Bu işlevi.
Belirli maksimum uygulamak Çünkü eğer ya da asgari fonksiyonlar null,
Eğer sonsuz değerlerini alırsınız.
>> Veri çerçeveleri, onlar listenin bir alt konum.
Her değer bir vektördür aynı uzunlukta.
Ve onlar sunmak için kullanılan konum, temelde, veri tabloları.
Bu başlatma sözdizimi var.
Bu, tüm daha fazla olur net Eğer demo gidince.
Ve güzel bir şey hakkında veri çerçeveleri senin olduğunu
tüm sütunlara isimler verebilirsiniz ve tüm satırlara isimler.
Ve böylece erişen yapar Onları biraz dostça.
Ayrıca, bu nasıl en fonksiyonları olduğunu Excel tabloları verileri okumak
veya metin dosyaları, örneğin, verilerindeki okuyacaktır.
Onlar içine koyacağım veri çerçevesinin çeşit.
Fonksiyonlar functions-- Yani sözdizimi biraz garip.
Yine işlevin adı, Daha sonra, bu anahtar kelime fonksiyon atamak ve
argümanlar listesi.
Bazı güzel şeyler vardır Yani nasıl fonksiyonları burada çalışıyorum.
Biri için, aslında atayabilirsiniz Belirli argümanları varsayılan değerler.
Yani R1 söyleyebiliriz equals-- sen foo söyleyebiliriz
R1 şey eşittir bir işlevdir Kullanıcı belirtiyorsa varsayılan
Hiçbir argüman.
Aksi takdirde, o koymak ne var.
Ve bu çok kullanışlı çünkü bir çok fonksiyonu
var sık ​​sık onlarca veya argümanlar yüzlerce.
Komplo örneğin olanlar grafikler veya komplo dağılım araziler
kontrol argümanlar var başlık ve ekseninden şeyi
regresyon çizgilerinin renk etiketler.
Ve eğer öyleyse istemediğiniz insanlar belirtmek yapmak
Bunların her biri argümanlar yüzlerce
her bir yanını kontrol Bir komplo ya da bir gerileme ya da her neyse,
bu varsayılan değerleri olması güzel.
>> Ve sonra aslında can Buraya geri gördüğümüz gibi yazın.
Ya da daha iyi bir örnek bulmak.
Eğer işlevleri çağırdığınızda aslında can argüman isimlerini kullanarak onları arayın.
Yani burada bir örnek matris yapıcı.
Üç argüman alır.
Genellikle veri var, hangi bir vektördür.
Sen N satır, sahip olduğu satır sayısıdır.
Siz N sütun sayısını cols-- var.
Yazarsanız şey N satır eşittir olursa olsun
ve N col ne olursa olsun zaman eşittir Eğer bu işlevi aradığınız
aslında bunları tersine çevirebilirsiniz.
Yani birinci ve N satır N col koyabilirsiniz İkinci ve hiçbir fark yaratacak.
Yani güzel bir özellik.
>> Ithalat ve ihracat yaptım.
Bu temelde, yapılabilir.
Yazmak için olanakları da vardır keyfi R bir ikili dosya nesneleri
ve sonra geri daha sonra bunları okuyun.
Eğer yapıyoruz kullanışlı olan Büyük bir interaktif oturumda R
ve kaydetmeniz gerekir işler çok çabuk.
Varsayılan olarak R çalışma dizini vardır Dosyaları içine yazılır olsun o
ve gelen geri okuyun.
Bunu o görebilirsiniz getwg, setdw ile değiştirin.
Burada özellikle ilginç bir şey
>> Yani şimdi gerçek istatistikler çoklu doğrusal regresyon stuff--.
Her zamanki sözdizimi Yani biraz karmaşık.
Model temelde büyük bir nesnedir.
Bu, lm atanmaktadır hangi bir işlev çağrısı olduğunu.
Birinci eleman, y tilde x1 artı ne olursa olsun.
Benim sözdizimi burada biraz kafa karıştırıcı.
Ben, bu oldukça üzgünüm Standart bir yoldur
bilgisayar bilim kitapları bunu.
Ama biraz garip.
>> Yani temelde, bu lm var Parantez, ilk öğe
üzgünüm variable-- edilir bağımlı Değişken tilde x1 artı x2 artı
Bağımsız Ancak birçok değişkenler var.
Sonra, bu da olabilir Vektörler, hepsi aynı uzunlukta.
Ya da sütun olabilir Bir veri çerçevesindeki başlıkları
Sadece belirttiğiniz İkinci argüman veri çerçevesi.
>> Ayrıca belirtebilirsiniz Daha karmaşık bir formül
böylece doğrusal gerek yok bir bağımlı değişkeni geriler,
ya önceden varolan bir vektör üzerinde tek bir vektör.
Örneğin, yapabileceğim bir Vektör bileşeni y kare artı 1
ve karşı geriler diğer bazı vektör oturum açın.
Sen özetleri yazdırabilirsiniz denilen bu komutla modeli
summary-- sadece özet modeli Parens.
Yine açıklamak gereken başka bir şey.
Düzeltilmiş alacak başka bir şey Slaytlar internette yukarı giderken.
Sadece hesaplamak istiyorsanız basit bir korelasyon
Eğer korelasyon vektör kullanabilirsiniz 1 vektörü 2 fonksiyon çekirdek.
Yöntem varsayılan olarak Pearson korelasyonları.
Bunlar yapabileceğiniz standart olanlardır.
Orada da Spearman ve Kendell korelasyon
bunlardan bazıları çeşitli vardır sıralı korelasyon.
Eh onlar ürünü hesaplamak yok vektörlerin kendi aralarında anlar,
ancak Vektörün rütbe siparişlerinin.
Ben daha sonra açıklayacağım.
>> HEDEF KİTLE: Hızlı soru
>> CONNER HARRIS: Elbette.
>> HEDEF KİTLE: Yani hesaplanması ediyoruz Basit korelasyon yapmak için
Eğer bir istatistik var olduğunu varsayalım korelasyon önemi?
CONNER HARRIS: Sen gerekmez.
Bir lm temelde sadece bir makinedir.
Bu iki şey alacak ve o tükürmek
en uygun hattı katsayıları.
Ayrıca, standart raporlar Bu katsayılar üzerinde hatalar.
Gibi Ve, size anlatacağım istatistiksel olarak anlamlı kesişim
veya 0 farkı.
En iyi eğimi fit çizgi istatistiksel
sıfırdan farklı, vesaire.
Hiçbir şey varsayar Yani, sanırım Sorunuzun en iyi cevaptır.
TAMAM.
>> Plotting-- böylece temel nedeni sen-meli çoklu doğrusal regresyon gibi, R kullanın.
Temelde her dil Bunun için bazı tesisi bulunmaktadır.
Ve dürüstçe için R 'sözdizimi regresyon biraz esrarlı olduğunu.
Gerçekten parladığı Ama komplo olduğunu.
>> Beygir fonksiyonu komplo ve iki vektör, x ve y alır.
Sonra elips çok açılımı İsteğe bağlı argümanlar çok sayıda olduğunu
başlıklarından renklere her şeyi kontrol Çeşitli çizgiler veya çeşitli noktalarından,
arsa türüne.
Sen dağılım olabilir araziler veya satır araziler.
>> [Duyulamaz] 2 vektörleri aynı uzunlukta.
Bunu eklemek memnuniyeti ile önce edebilirsiniz senin komut veri çerçeve.
Ve bu sadece sütunu kullanmanıza izin verir yerine ayrı vektörlerin başlıkları.
Sen en uygun çizgiler ve yerel ekleyebilirsiniz senin grafiğe regresyon eğrileri.
>> Bu komutlar listelenir Burada, ab çizgi ve hatlar,
Varsayılan olarak bu olsun açılır pencere içine yazılır
o varsayar çünkü etkileşimli R kullanıyoruz.
Eğer değilseniz yapabilirsiniz İki dosya yazmanız
İstediğiniz gerçekten herhangi bir biçimde bulunmaktadır.
Üzgünüm, ben sadece fark bir yazım hatası var.
Eğer açmak istiyorsanız Başka bir grafik aygıt
PNG ya da denilen bu fonksiyonu kullanabilirsiniz JPEG veya diğer görüntü biçimlerine bir sürü.
Ve sen grafikleri yazabilirsiniz ne olursa olsun dosya adı belirtin.
Eğer use-- zorunda iptal etmek Ben slide-- bu yazmadım
ancak bir işlev olarak adlandırılan dev var bu kapalı nokta hiçbir argüman alır.
>> Sonra imkanları vardır 3D komplo için
ve kontur için komplo Eğer yapmak istiyorsanız
İki bağımsız değişkenlerin grafikleri.
Ben şu anda bu içine almazsınız.
>> Ayrıca bazı vardır animasyon için tesisler
Bu genellikle üçüncü şahıslar tarafından yapılmaktadır.
Ben, R grafikleri ile animasyonlar yaptık ama bu üçüncü parti kullanmadıysanız
kütüphaneler.
Yani ben gerçekten kanıtı olamaz nasıl iyi olduklarını.
Ne istiyorsanız tavsiye R kullanarak animasyonlar yapmak
Eğer tüm dışarı yazabilirsiniz olan animasyonlar için çerçeveler
ve sonra bir kullanabilirsiniz üçüncü program--
Tipik olanlar FFmpeg denir veya ImageMagick-- dikiş
tek animasyon içine kare tüm.
>> Demo için zaman Yani.
Eğer sistemi gibi herhangi bir Unix kullanıyorsanız eğer öyleyse Hangi Linux BSD ama kimin BSD kullanır.
OS X bir terminal penceresi açın ve Komut istemine R yazın.
Eğer R stüdyo varsa veya de çalışır gibi.
Windows kullanıcıları için, olmalıdır Başlat menüsünde R bulabilirsiniz.
Bu bir şey aranmalıdır R x64 gibi 3 nokta ne olursa olsun.
Oradaki açın.
>> Yani şimdi sadece bana izin Bir terminal penceresi açın.
Pekala, arama.
HEDEF KİTLE: Komut Uzay
CONNER HARRIS: Komut Uzay, teşekkür ederim.
Ben normalde Mac'ler kullanmayın.
Terminal, yeni bir pencere gösterecektir.
New window ayarları ise Temel, R. Yani almalısınız
Bir karşılama mesajı, böyle bir şey.
>> Yani etkileşimli R kullanıyorum.
Ayrıca tabii ki R komut dosyaları yazabilirsiniz.
Temelde betikleri çalıştırmak aynı yolu olarak
Eğer bilgisayar başında oturuyormuş Bir seferde her satırda bir tane yazarak.
Yani bir vektör yaparak başlayalım.
Bir ok C 1, 2.
1, 2, 4.
Tabii olur.
Ben font boyutu daha büyük yapabilirsiniz.
>> HEDEF KİTLE: Command-Plus
>> CONNER HARRIS: Command-Plus.
Komut-Plus.
Pekala, bu nasıl?
İyi?
TAMAM.
Yani başlayalım bir vektör listesini ilan etti.
Bir, ok, C 1,2,4 yapın.
Biz görebilirsiniz.
Orada dirsek endişe etmeyin.
Yazdırmak eğer parantez so Çok uzun diziler, biz senin nerede.
Bir örnek olurdu ben Sadece 200 aralığı 2. istiyorum.
Ben çok basılmış ise Uzun dizi, parantez
Sadece bu yüzden tutabilir vardır parça hangi endeksi
Ben arıyorum eğer konum Bu görsel aracılığıyla.
Yani nasıl olsa, biz var.
>> Yani ben diziler etkileşimde önce söylediğim çok güzel bir şekilde, örneğin,
Böyle Tekli işlemleri.
Yani ben olacak düşünüyorum Ben bir artı 1 yazarsanız olsun?
Evet.
Doğru, şimdi yapacağız Bu farklı bir dizi.
En b c 20,40, 80 diyelim.
Ee ne düşünüyorsun Bu komut yapacak?
Öğeleri ekleyin.
Ve böylece temelde ne yaptığını var.
Yani bu oldukça uygundur.
Yani nasıl bunu hakkında. c ise, en 10, 6 kez 1 diyelim.
Yani ne görmek istersiniz içerdiği, sizce?
Altı Böylece tüm katları.
Şimdi, sen ne düşünüyorsun Ben bunu yaparsam ne olacak?
Ben bu biraz daha net, c, c yapacağız.
Peki ne olur, do you Ben bunu yaparsam, sence?
Bir artı c.
[Duyulamaz]
>> HEDEF KİTLE: Bir hata ya da Ya İlk üç unsuru ekler.
>> CONNER HARRIS: Oldukça değil.
Bu ne var olduğunu.
Ne olur bir daha kısadır Dizi, bir, sağlanıncaya var.
Yani biz 124, 124, 124 var.
Evet.
Ve temelde görüntüleyebilirsiniz Bu davranış, daha önce, bir artı 1,
Bu davranış, bir alt sınıfı olarak kısa dizi sadece sayıdır
1, bir tek eleman dizisi olan.
Ben sadece tüm vektör söyleyerek olmak Bunun yerine bir dizi zaman,
çünkü o nedir r dokümantasyon genellikle yok.
Bir kökleşmiş c alışkanlık.
>> Tamam, ve şimdi biz bu dizi var.
Bu yüzden bu dizi, c var.
Biz özetini alabilirsiniz c, özet c istatistikleri.
Ve bu güzel.
Bu yüzden şimdi Biraz matris şeyler yapalım.
En m bir matristir diyelim.
Üçe biri tarafından oa üç yapalım.
Yani nrows 3 eşittir ve ncols 3 eşittir.
Ve veriler için en sanıyor- edelim yani ne Bunu yapmak için gidiyor sizce?
>> Doğru, bir sonraki biri.
Bu sat_say ve nColumn var.
Yani ettik ne yaptık olduğunu Üç üç matris ilan
ve ben dokuz eleman dizisinde ilettik.
Bütün logaritması So elemanları dokuza kadar tek.
Ve tüm bu değerler doldurmak array-- üzgünüm kadar?
HEDEF KİTLE: Baz 10 günlükleri Bunlar nelerdir?
CONNER HARRIS: Hayır, log Doğal logaritma, yani baz e.
Evet, isterseniz taban 10 günlük, sana olurdu bence
log 10 bölü ne olursa olsun, oturum açmak için.
Ve [duyulamaz] sadece bu yüzden veri , alt dizi, bu yüzden üst doldurur
sonra sağa sola.
Ve diğer bazı yapmak istedim Dizi, en n matrisi diyelim.
Ben 13, 2 bilmiyorum en yapalım.
Ya da ben daha ilginç bir şey yapacağız.
Ben 4 2 yapacağız.
sat_say, en, 3 diyelim eşittir.
Ncol 4 eşittir.
n.
Yani biz bu var.
>> Ve şimdi bu çarpmak istiyorsanız, biz n yüzde süreleri yüzde yapacağını
Bu n çünkü.
Ve biz matris ürün var.
Onlar arada, nasıl gördün Ben n ilan ettiğinde, 2-4
Vektör kadar sağlanıncaya var o n hepsini doldurdu?
Almak istiyorsa Özdeğer ayrışma,
Bu çok kolay bir yapabileceği bir şeydir.
Biz öz n yapabiliriz.
Ve böylece bu bizim ilk bir liste ile karşılaşıyoruz.
>> Yani eigen n iki tuşları ile bir listesidir.
Burada bu dizidir Değerler.
Ve vektörler, burada bu dizi olan.
Yani ayıklamak istedim, diyelim ki, bu üçüncü sütun
özvektörler matristen nedeniyle özvektörlerinin sütun vektörleri bulunmaktadır.
Bu yüzden vec öz n dolar işaretini yapabilirsiniz vektörler, virgül 3'ün [inaudible].
Vec.
Tahmin edebileceğiniz gibi olmasıdır.
>> Sonra söylemek n kat yüzde süreleri vec.
Yani sonuç burada kesinlikle benziyor Burada üçüncü özdeğeri aldı,
hangi tekabül Üçüncü özvektördür.
Sadece her şeyi çarpılır Bu özvektör, bileşen bilge,
Özdeğer tarafından.
Biz ne beklenir Ve bu, var Bu özdeğerleri ne çünkü.
Burada herkes Has değil lineer cebir alındı?
Birkaç kişi, tamam.
Sadece biraz beynini kapatın.
Ve biz eigen n almak gerçekten eğer 3 kez vec dolar işareti değerleri
iyi de aynı şeyi olsun.
Bir satır olarak farklı biçimlendirilir Bunun yerine, bir sütun vektörün,
ama büyük bir anlaşma.
Ve böylece bu temelde güzel Biz matrisler ile yapabileceğiniz şeyler,
gösterdi listeler.
Ben güzel göstermelidir hem de fonksiyonları hakkında şeyler.
>> Yani say-- edelim [duyulamaz] fonksiyonu, diyelim çağrısı
n, squared-- fonksiyon karşı işlev bu Aslında, bu gerçekten iyi değil.
a, b, bir kare artı b.
Yani bir şey hakkında fonksiyonlar, daha, bir
açık dönüş ifadeleri gerekmez.
Yani sadece- edebilirsiniz değerlendirilen son ifade
iade beyanı olacak, veya değer döndürdü.
Bu durumda Yani, biz sadece değerlendirirken tek Açıklamada, bir kare artı b.
Varsayılan dönüş değeri olacaktır.
O koymak asla acıyor açıkça dönüş değerleri
Eğer uğraşıyoruz özellikle çok karmaşık mantık işlevi
akar.
Ama onlara ihtiyacım yok.
Yani şimdi biz fonk 5, 1 yapın, ve yapabilirsiniz Bu ne beklediğiniz temelde.
Yapabileceğimiz başka bir şey, biz aslında işlev b yapabilirsiniz
1 eşittir, 5 eşittir.
Burada hangi sayısını belirtin Yani, hangi argümanı hangi argüman gider
işlevinde, biz etrafında çevirebilirsiniz Bu değerler her yerde istediğimiz.
>> HEDEF KİTLE: bir nedeni var mı b dışarı yazmak için
Sadece kullanarak karşı eşittir sayılar ve virgül?
CONNER HARRIS: Evet, genelde Eğer işlevleri varsa bunu
argümanların bir sürü.
Bu genellikle gibi olabilir bayraklar o sadece ediyorum
ender olarak kullanmak istiyorum.
Ve bu şekilde size Sadece-- olabilir Belirli argümanları başvurabilirsiniz
Kullanmak istediğiniz varsayılan olmayan değerler için
ve bir yazmak zorunda değilsiniz Bayrakların demet arkalarından yanlış eşittir.
Yoksa yine bu yazabilirsiniz b gibi bir varsayılan değer 2 eşittir.
Ve sonra f fonk yapabileceğini, Ben 4, 1 bu kez yapacağız.
4 olduğu ve 17, kare artı 1, tahmin edebileceğiniz gibi.
>> Ama aynı zamanda olabilir sadece fonksiyon 4 ile bu çağrı,
ve ben, çünkü 18 alırsınız Ben b belirtmek gerekmez.
Yani b 2 varsayılan değeri alır.
>> Tamam, şimdi sen eğer demo ile birlikte aşağıdaki,
senin emrinde bu satırı yazın istemi ve ne kadar gelir bakın.
Aslında, bunu yapma.
Bu yazın.
Böyle bir şey almalısınız.
Mtcars Yani veri inşa edilmiştir Bu gösteri için belirlenen
Bu gelir Şarkı söylemeyi kes geliyor amaçları senin r dağıtımı ile varsayılan olarak.
Bu istatistiklerine bir derleme Motor Trend dergisi bir 1974 sorunu
farklı otomobil modelleri bir dizi.
>> Yani galon başına mil var, cylinders-- Ne disp'e o-- beygir unutma.
Muhtemelen.
Sadece Google MT arabalar ise, İlk sonuçların sonra bir
arasında olacaktır Resmi r belgeleri
ve açıklayacağım Tüm bu veri alanları.
Yani ağırlık ağırlıkla bu-- ton arabanın ağırlığı.
Q sn çeyrek mil zamanıdır.
Yani şimdi bazı eğlenceli şeyler yapabilirsiniz MT arabalar hakkında bir veri alanıdır.
>> Yani biz bir şeyler yapabiliriz Satır isimleri, mt arabalar gibi.
Ve bu tüm satırlar bir liste olduğunu araba isimleri veri seti.
Biz colnames, mt arabalar yapabilirsiniz.
Eğer mt arabalar yaparsanız, 2 gibi alt sayısal dizin.
Biz dışarı ikinci sütunu olsun Bu, silindir olurdu.
>> HEDEF KİTLE: Ne yaptın?
>> CONNER HARRIS: Ben yazdığınız mt arabalar, parantez e
hangi bana ikinci verdi mt araba dışarı sütun.
Biz bir satır istiyorsanız Veya, ben yazabilirsiniz mtcars örneğin 2 virgül.
Böyle Diğer yuvarlak 2 virgül.
Ve bu satırda gider.
Bu burada sadece size verir Bir vektör olarak sütun, sütun ancak.
Ben şimdi fark ben göstermek unuttum
vektörlerin hakkında bazı serin şeyler Eğer endeksleri ile yapabilirsiniz.
Bu yüzden bana şimdi o yapalım.
Yani c gets-- koyarak yapalım 1 ila 10 pause-- 2 kez bu.
Yani c sadece olacak 20 ile vektör 2.
Ben c2, bu gibi unsurlar alabilir.
Ben bir vektör iletebilirsiniz Bu gibi bana izin C-
vec c gibi, c farklı bir ad kullanın.
Temelde, yapıyorum Bu yüzden alamadım
Bir şekilde c arasındaki karıştı vektör oluşumu işlevi
ve daha sonra bir değişken adı olarak c.
Vec parantez c 4, 5, 7.
Bu, beşinci, dördüncü beni alırsınız ve dizinin yedi elemanları.
Ben bir olumsuz koymak, vec yapabilirsiniz Negatif 4 gibi dizin.
İşte bu beni alacak Dördüncü unsur kaldırıldı.
Sonra dilimleri yapmak istiyorsa, Ben 6'ya kadar VEC 2 yapabilirsiniz.
2 kolon 6 Sadece başka bir şeydir 2 olan bir vektör, 3, 4, 5, 6.
Bu çıkarır.
>> Yani nasıl olsa geri mt arabalara.
O yüzden bazı gerilemelere yapalım.
Model atalım gets-- diyelim doğrusal Bilmiyorum regress--.
Öncelikle en tabii, mtcars eklemek yapalım.
Yani [duyulamaz] modeli lm, en geriler edelim tilde ağırlığı galon başına mil.
Sonra bir veri çerçevesi mtcars olup.
Yani özet modeli.
>> Tamam, bu biraz karmaşık görünüyor.
Ama temelde, görme sanki biz galon başına mil ifade etmeye çalışıyorum
ağırlığın bir lineer fonksiyonu olarak, o zaman biz burada bu çizgiyi var,
37.28 de hangi yakaladığını.
37,28 teorik mil olurdu sıfır ağırlığında bir arabanın galon başına.
Sonra her ek ton, Eğer galon başına yaklaşık beş mil vurmak
Bu kapalı.
Bu katsayıların ikisi de Orada, standart hataları görebilirsiniz.
Ve onlar çok vardır istatistiksel olarak anlamlı.
>> Yani biz çok emin olabilirsiniz Negatif 10 1 e 10.
Negatif Yani 1 kez şey 10, bir ağır araba yaparsanız o,
o galon başına mil daha kötü olacaktır.
Ya da başka bir modeli test edebilirsiniz.
Yerine gibi ağırlık bu gerileme,
, ağırlığının günlüğüne üzerine geriler izin belki etkili ağırlık nedeniyle
kilometre üzerinde bir türlü doğrusal değildir.
>> Bu bize 0.7528 karesi bir r verdi.
Yani bu deneyelim.
Bu sefer en bir yapalım Çok farklı değişken.
MODEL 2.
Yani özet, MODEL 2.
Pekala, yine, biz Burada bizim en uygun hat var.
Ve bu seferinde-- bu, diyor temelde her zaman
ağırlığını artırmak e faktörü ile bir araba
Eğer galon başına bu kadar çok mil kaybedersiniz.
>> Ve böylece bu sefer bizim artık standart Gerçekten önemli değil Durdur-- hatası.
Artık standart hata olduğunu temelde sadece standart hata
size sonra sol olduğunu trend çizgisi götürmek.
Ve burada karesi bizim r 0.81 olduğunu biraz daha iyi olan nedir
Biz 0.52 daha önce vardı.
>> Ve şimdi en bir ekleyelim Bu gerileme vadeli.
Yani galon başına mil geriler izin Her iki ağırlıkların günlüğüne
ve, en, yapmak q mil let, çeyrek mil süresi.
Tamam, Şeyin tamam, qsec olmalıdır.
Qsec.
Actually-- üzgünüm, ne?
Beni bu şey arayayım Başka MODEL 2 yanında.
Beni bu Model3 diyelim.
Ve şimdi biz özet Model3 yapabiliriz.
Ve böylece yine, bu temelde Eğer beklediğiniz.
Pozitif yolunu kesmek var.
Artan etkili Ağırlık negatiftir.
Ve etkili artan çeyrek mil süresi
olumlu, ama olsa kilo daha böylece daha az.
Şimdi sezgisel, size mantıklı olabilir Bu spor arabalar hakkında düşünmek söyleyerek.
Çok hızlı bir ivme var, çok kısa bir çeyrek mil kez.
Onlar da, daha fazla gaz kullanmak için gidiyoruz daha mantıklı araba gidiyor oysa
yavaş ivme var, yüksek çeyrek mil kat,
ve böylece ,, az gaz kullanmak galon başına mil daha yüksek.
Büyük.
Ve böylece şimdi zamanı Böyle bir şey çizmek.
Yani o kadar çıplak sanıyor- izin kemikler, biz plots-- yapabiliriz
Bu veri çerçevesini ekli çünkü before-- biz sadece araziler, ağırlık mpg yapabilirsiniz.
Bu biraz daha büyük yapın.
Orada, biz temelde var bir scatter plot, ama puan
Bu görmek için biraz zor.
>> Ben hazırlıksız hatırlamıyorum sözdizimi komplo değiştirmek içindir.
Yani bu olacak sanırım iyi bir zaman, yukarıya getirmek için
çok güzel bir yerleşik yardım var özelliği, yardım tırnak adını çalışır.
Biz temelde kadar getireceğim İstediğiniz her şey.
Ben aslında bunu düşünüyorum tip noktaları araziler için p eşittir.
Bu hiçbir şeyi değiştirmez mi?
Ve hayır, pek değil.
Pekala.
>> Nedense, ben bunu ne zaman için Bir süre önce benim kendi bilgisayarında,
Tüm dağılım noktaları çok net idi.
Her neyse, görünür bir dağılım tür?
Orada bir tane var.
Bir orada birkaç birkaçıdır.
Sen doğru sıralama, onları görebilirsiniz?
Bu yüzden, en uygun satır eklemek istiyorsanız Biraz çıplak burada bu arsa için
Bones-- bana biraz daha güzel yapalım.
Ana ağırlığı karşısında eşittir.
Galon başına mil.
Yine, ne kadar yararlı görebilirsiniz İsteğe bağlı argümanlar ayrıca burada
Bir şeyler koymak zorunda değil Klavye argümanlarla belirli düzen
Eğer araziler, çünkü varken Bu argümanların bir sürü almak.
>> Xlab ağırlığı, kilo, ton eşittir.
Pekala.
Tamam, evet, bu cihaz biraz sinir bozucu ediliyor.
Ama sen, bir nevi orada görebilirsiniz tarafında bir grafik başlık var.
Burada orada- alt fazla Burada eksen etiketleri vardır.
Ben hazırlıksız hatırlamıyorum Ne komutları ars--
fonksiyonları artırmak için ne Bu etiket ve başlıklar büyüklüğü,
ama oradalar.
>> Ve böylece biz isterseniz en uygun satır eklemek,
Biz I sanki şey gibi yapabileceği var sözdizimi burada yazılı.
Yani biz sadece modeli eklemek hatırlıyorum MPG, ağırlık, mtcars oldu.
Eğer öyleyse Ve ben bir en uygun eklemek istedim çizgi, ben a, b hattı modeli yapabilirdi.
Ve boom, biz en uygun çizgi var.
Tekrar görmek için biraz zor.
Ben oldukça üzgünüm Teknolojik zorluklar.
Ama temelde çalışır üst alt soldan sağa doğru.
>> Ve ölçek olsaydı Daha büyük, sen görebiliyordu
kesişim olduğunu ne yapabilirsiniz özet istatistiklerden bulmak
özet modelini yazarsanız.
Tamam, bu yüzden herkes alır umuyoruz Bir anlamda bir şey nasıl
R o için neyin iyi olduğunu.
Sen daha çok güzel araziler yapabilirdiniz Kendi zamanında bu, isterseniz.
>> Yabancı fonksiyon arayüzü yüzden.
Bu genellikle değildir şeydir tanıtım derslerde kaplı
r veya tanıtım şey.
İhtiyacınız olacak olası değil.
Ancak, ben de faydalı bulduğu Geçmişte kendi projeleri.
Ve hiç iyi orada Online bunun için öğretici.
Ben sadece gidiyorum Bu size tüm acele
ve daha sonra terk etmek özgürsünüz.
Ve böylece yabancı fonksiyon arayüzü ne olduğunu
Eğer görmek için dışarı çağırmak için kullanabilirsiniz Bir R. dahili fonksiyonlar,
C. R'ın aritmetik adildir R inşa edilmiştir C 64-bit kayan noktalı aritmetik,
hangi çift [inaudible] türüdür.
Ve yapmak isteyebilirsiniz nedenlerle bir grup için bu.
İlk olarak, R, bu kadar yorumlanır değil makine koduna aşağı derlenmiş.
Yani yeniden edebilirsiniz olsun, sonra C ve iç döngüler
R. benzeri kullanılarak avantajı biraz daha rahat C'den var
Daha iyi grafiklerini vardır tesisleri ve etajer.
Ve hala mümkün olurken olsun İç döngüler üzerinden en yüksek hız,
hangi gerçekten ihtiyacınız yerdir.
>> Mevcut C kütüphaneleri tekrar kullanımı, Bu da önemlidir.
Sizin gibi bazı C kütüphanesi varsa, Ben, Fourier dönüşümleri, bilmiyorum
ya da çok Arkeen istatistik prosedür kullanılır
yüksek enerji astrofizik alanında falan, bilmiyorum.
Yüksek enerjili astrofizik Hatta bir düşünce değil, sanırım.
Ama kalmadan bunu yapabilir Bunlardan bir yerli R portu yazmak için.
Ve Şeyin ve yine sizin gibi eğer R varsayılan kütüphanelerinin çoğunda bakmak,
internals üzerine, internals vardır yabancı işlevi kullanmak için gidiyoruz
Çok yoğun arayüzü.
Onlar Fourier gibi şeyler olacak dönüşümleri veya korelasyon hesaplama
katsayıları C ile yazılmış ve onlar olacak Sadece çevrelerindeki R sarýcýlarý var.
Arabirimi olan bir biraz zor. bence
kendi zorluk abartılı bulacağınız talimatlar çok.
Ama yine de, bu biraz kafa karıştırıcı.
Ve ben mümkün olmamıştır Bunun için iyi bir öğretici bulmak,
Bu yüzden şu anda öyle.
Yine, bütün bu segmenti daha sonra başvurmak üzere daha fazladır.
Kopyalama dert etmeyin Şu anda aşağı her şeyi.
Aşağıdaki talimatlar Yani Unix benzeri sistemler için vardır,
Linux, BSD, OS X bilmiyorum Bu Windows üzerinde çalışır, nasıl
ama sadece yapmıyoruz, lütfen sizin Windows üzerinde son projesi.
Gerçekten istemiyorum.
Unix çok daha iyi kümesidir gündelik programlama için.
Yani, temelde yabancı fonksiyon arayüzü.
Bir C yazmak istiyorsanız R ile kullanım için fonksiyon,
tüm almak zorundadır işaretçileri olarak argümanlar.
>> Yani tek değerler için, bu bu değere işaret demektir.
Diziler için bu bir göstericidir ilk öğe, hangi
Dizi isimleri aslında ne demek olduğunu.
Yine, bu olması gereken bir şeydir Oldukça tamamen p beş ayarladıktan sonra aşağı.
Dizi isimleri sadece noktalar şunlardır ilk elemana,
Kayan nokta tipi çift olduğunu.
Ve işlevi geçersiz dönmek zorundadır.
It can tek yolu gerçekte ne anlatmak R
R verdi bellek değiştirerek gereğidir bunun dış fonksiyonu sayesinde
arayüz.
>> Yani bu yazdım Burada örnek, bu
kullanımını hesaplayan bir fonksiyon İki vektör nokta ürünü.
Bu, iki argüman, vec1, vec2 alır bu vektörler kendilerini,
ve n, burada bir uzunluğu, yine nedeniyle,
R öğrenmek için [duyulamaz] inşa etti vektörlerin uzunluğu, ancak C yok.
C, vektörler, bir keyfi bellek ayrılmış yığın.
Yani yol yapabilirsiniz nokta ürünlerini hesaplamak
Sadece parametre bu yola sıfıra sonra yinelemenize
1 için, n, yıldıza n boyuna bir işaretçi var,
Sadece bir şey eklemek bunu parametre.
Ve bu iyi bir uygulama olabilir Yapmanız gidiyoruz eğer
Bu iki ayrı C fonksiyonları yazmak için.
Bunlardan biri Bunlardan biri sadece has-- argümanları ve türlerini alır
bunlar genellikle C olacağını
>> Yani bir dizi alır işaretçileri olarak argümanlar.
Ama n gibi tek değerli argümanlar, Sadece, sureti değerleri olarak alır
işaretçiler olmadan.
Ve o zaman değil [Duyulamaz] dışarı işaretçi.
Ve sonra olabilir Farklı bir temelde,
sarıcı işlevi temelde gereksinimleri kolları
Dış fonksiyonunun Senin için arabirim.
>> Eğer R diyoruz yolu bir kez olan Eğer, senin işlevi C ile yazılmış olması
Eğer R cmd shlib, R tipi Komut paylaşımlı kütüphane,
foo nokta c ya da her neyse dosya adıdır
ve OS R terminalinde değil kabuk.
Ve bu bir yaratacak foo denilen kütüphane yani nokta.
Ve sonra onu yükleyebilirsiniz Bizim komut dosyası veya etkileşimli
Komut dyn nokta yük.
Sonra bir işlevi var R nokta c çağırdı.
>> Bu olan argüman alır C işlevin ilk isim
Aramak istediğiniz söyledi.
Sonra tüm parametreler Bu işleve,
onlar doğru sırayla olması gerekir.
Bu tip kullanmak zorunda zorlama fonksiyonları tamsayı olarak olarak
çift, karakter ve mantıksal olarak.
Ve o zaman geri döndüğünde Yine sadece bir liste,
ilişkili bir dizi parametre adları ve değerleri
sonra işlev tükendi.
>> Nokta eşya, çünkü, bu durumda So argümanlar n üzerinden, vec2 vec1 ve n int.
Biz nokta eşya var c nokta için, işlevin adı
Biz vec1, vec2, tip zorlamak için, diyorlar.
Her iki vektör uzunluğu Ben sadece vec1 keyfi seçti.
Bu s demek daha sağlam olurdu vec1 tamsayı dakika uzunluğu, uzunluk vec2.
Sonra sadece çift sıfır olarak, biz gerçekten yok çünkü
gider umrumda parametresi dışarı biz çünkü
Bunu ayarlamak zaten sıfıra.
>> Ve sonra sonuçları olacak temelde büyük ilişkili dizi
vec1, vec2 ne olursa olsun ne olursa olsun olduğunu.
Ama biz ilgileniyoruz dışarı, bu yüzden biz çıkabiliriz.
Bu, yine, çok oyuncak örneğidir Yabancı fonksiyon arayüzü.
Ama nokta hesaplamak zorunda döngülerinde büyük vektör ürünleri,
veya yapmanız gereken ise bir döngü içinde başka bir şey,
ve Ar güvenmek istemiyorum, hangi yükü biraz var
yerleşik, bu yararlı olabilir.
>> Yine, bu genellikle değil R. tanıtım konu
Çok iyi belgelenmiş değil.
Ben sırf o dahil ediyorum Ben geçmişte yararlı buldum.
Yani, kötü uygulamalar.
Ben bir var ki söz işlevi döngü.
Genellikle de, olmamalıdır dil, kullanmayın.
R yineleme uygulayan nasıl dayanarak içten, yavaş olabilir.
Onlar sadece, aynı zamanda çirkin görünüyor.
>> R yani, çok güzel vektörleri kolları çoğu zaman bunu kullanmak gerekmez.
Sonra genellikle can genellikle vektör yerine
yüksek olarak adlandırılan bu işlevlerle Sipariş fonksiyonları, Harita, azaltın
Bul veya Filtre.
Ben sadece bazı vereceğiz Ne bu örnekleri yok.
Harita yüksek dereceli fonksiyonu çünkü bir argüman olarak bir işlev alır.
Bunu bir işlev verebilir Yani, bunu bir dizi verebilir,
ve işlevi geçerli olacaktır dizinin her elemanına
ve yeni bir dizi döndürür.
Temelde vermek azaltın bir dizi, bunu ver
İki argüman alır bir işlev.
İlk, fonksiyon geçerli olacaktır Bazı başlangıç ​​değeri ile ilk argüman.
Sonra ikinci o sonuca.
Sonra üçüncü bu sonuca, Daha sonra dördüncü o sonuca.
Sonuna kadar geldiğinde Ve sonra geri döner.
Yani, örneğin, isterseniz tüm unsurların toplamını hesaplamak
Bir dizideki, sen diyebilirsiniz daha azaltmak [duyulamaz] ile bir ek azaltmak
fonksiyon, fonksiyon gibi a, b, a artı b döndürür.
Sonra 0 değeri başlar.
>> Ve bütün bunlar, bunları bulabilirsiniz R belgelerinde açıklanan,
Herhangi bir ders kitabında üzerinde fonksiyonel programlama.
Bu sınıfı da var denilen fonksiyonlar fonksiyonları uygulamak,
ki ben onlar konum Yapma-- biraz zor, açıklamak
ama eğer bakarsanız [duyulamaz] Ben başında anılan bu rezervasyonu
O oldukça iyi bunları açıklıyor R programlama onun eki.
Uygulamalarımız hakkında daha fazla, vektörleri ekleme.
Evet?
Bunu düzeltmek gerekir sanırım.
Ilk satırda, vec ok, O ok olmamalı.
Sen, bir vektör atayabilirsiniz Yine, tarafından uzunluğu artı 1 almak
ve bazı değer atama.
Bu vektör uzatmak veya olacak vec eşittir c, vec newValue yapabilirsiniz.
Yine, eğer birlikte C kullanmak Bir vektör olarak tek argüman,
Ortaya çıkan hiyerarşi basık olur.
Yani sadece bir vektör alırsınız Bu 1 ile genişletilmiş oluyor.
Bunu asla.
>> Nedeni sizi Bu bu yapmamalısınız.
Bir vektör tahsis, bunu o belleğin belirli bir yığın verir.
O vektör boyutunu artırırsanız, bu vektörü tahsis vardır
başka bir yer.
Ve böylece yeniden tahsis oldukça pahalıdır.
Ben nasıl detaya gitmeyecek Bellek ayırıcılarına uygulanmaktadır
İşletim sistemi seviyesinde, ama bu çok zaman alır
yeni bir bellek yığın bulmak için.
Ve ayrıca, sen eğer yeniden dağıtılması çok ve çok sayıda
arasında giderek büyük topakları, sen sonuna kadar
denilen şeyle bellek parçalanma,
Müsait bellek küçük bloklar sürü ayrılmıştır
bakış bellek ayırıcılarına noktasında.
Ve daha da zorlaşmaktadır diğer şeyler için bellek bulmak için.
Bunun yerine, bunu yapmak gerekirse, eğer Eğer bir ucundan bir vektör büyümek için ihtiyaç
yanındaki, buna ekleme yerine, Sürekli, bunu önceden tahsis etmelidir.
Vec ok, vektör uzunluğu 1000, ya da her neyse eşittir.
>> Ve sonra sadece atayabilirsiniz Vektörün değerleri biri
Eğer bir kez tahsis ettik sonra bir kez.
Ben, yine, bu içine benim yaz iş koştu ne zaman NRA farkı yazıyordu
denklem çözücü.
Sayısal sembolik değil.
Fikir bir kez olduğunu Çözümünüz için tek değer,
Eğer bir sonraki hesaplamak için kullanabilirsiniz.
Naif Yani benim doğal eğim, Tamam söylemek oldu
bu yüzden bir vektör ile başlayacağız Bu önemli bir değerdir.
Sonraki değerinden hesapla O, benim çözüm vektörü üzerine gider
ve o ekleyin.
>> Başka bir şey oluşturun, o ekleyin.
O çok, çok yavaş gitti.
Ve ben bu fark bir kez ve benim sistem değişti
Bu vektör için ekleme gelen 10.000 100.000 kez gibi,
Sadece bir vektör ön tahsis ve sadece bu ile çalışıyor.
Ben 1000'den fazla kat hız kalktı.
Yani bu çok yaygın olduğunu R programlama için tuzak.
Bir vektör kurmak gerekiyorsa parça parça, onu ön ayrılamadı.
>> Bu up-- başka ortak gezi benim son olduğunu slayt, hata işleme değil Merak etme bunu.
R, samimi olmak gerekirse, değil Gerçekten çok iyi yapıyoruz.
Orada bir sürü çıkabilen sorunlar.
Örneğin, bir dizi alırsanız veya bir işlevin dışında bir vektör
Tek bekliyorduk o değer tersi gelen, ya da,
ve bir fonksiyonun içine geçmek Eğer tek bir değer bekliyor yazdı,
bu bir sorun olabilir.
>> Belirli işlevler gibi, diyelim ki, null döndürür
Bir okuma Bir listede varolmayan tuşuna basın.
Ama boş C gibi değil Nerede okumak çalışırsanız
Eski bir işaretçi, [inaudible] işaretçi null, sadece hataları seg
ve sizin hata ayıklayıcı iseniz o tam olarak nerede olduğunuzu söyler.
Fonksiyonları olacak sanıyor- Bunun yerine, boş öngörülemeyen şeyler yapacak
onlar teslim null adlı iseniz.
Eğer maksimum null adlı teslim ediyorsanız gibi, size negatif sonsuz vereceğim.
Ve böylece, evet.
Ve böylece bu oldu Bana vardı bir zamanlar ne zaman
alanları bir demet değişti Benim liste yapısında
Bir kez başka bir yerde onları değiştirmeden ben onlardan okuyordu.
Ve sonra rastgele her türlü var sonsuzluk sonuçları kadar kırpma
ve ben hiçbir fikrim nereden geldiğini.
Ve ne yazık ki, orada hiçbir gerçek R katı mod
nereye şey olmadığını söyleyebilirim Bu bir hata olabilir gibi görünüyor
Ben olabilir bu yüzden sadece orada durmak disiplinli ve düzeltmek.
Ancak, bir şey var Dur değilse denir.
Bu, C'nin assert eşdeğerdir Bu konuda konuştum eğer.
C iddia sanmıyorum Bir ders konudur,
ancak bölüm başkanı Bunun üzerine gitmiş olabilir.
Temelde herhangi sürer değilse ve durdurma yüklem, bu yüzden herhangi bir açıklamada bu
doğru veya yanlış olabilir.
Yanlış Ve eğer, onun programı durdurur.
Seni hat tam olarak ne anlatır vardı ve ne durumda başarısız oldu.
>> Ve bu çok yararlı, örneğin, aklı denetimi, fonksiyon girişleri.
Eğer bir işlev varsa Yani ve, diyelim ki, bekliyoruz
Bana bir tarih vermek gerekiyorsa, ben istiyorum tarihleri ​​uzunluğu 1 sadece bir vektör
ve bir yerde, 1 ile 31 arasında yer almaktadır.
Ve eğer, ben biliyorum bir şeyler ters gitti.
Ve ben bundan önce orada durdurmak için tercih koduyla etkileri üzerine rastgele vuruş vardır
zor olduğunu aracılığıyla izlemek için.
Böylece olası biri durdurmak için kullanmak değilse.
>> Tamam, neyse.
Yani sonu.
Geldiğiniz için çok teşekkür ederim.
Ben bu bir rütbe amatör duyuyorum.
Çok üzgünüm sıkıldım eğer ya karışık ya da ne var.
Ben e-posta ile soru almak için mutluyum connorharris@college.harvard.edu~~pobj at.
Bu herkes için de geçerlidir Bu daha sonra canlı veya izlerken.
Ayrıca, ama ben değilim TF, ben de çok duyuyorum
resmi olmayan bir şekilde hizmet etmek isteyen bu herkes için danışman
son projesinde R kullanarak.
>> Bunu isterseniz, Daha sonra sadece TF konuşmak
ve o zaman bana bir e-posta yazmak Ne üzerinde çalışıyoruz biliyorum
ve bu yüzden toplantıyı kurabilirsiniz Sizinle kere isterseniz.
Yani yine, çok teşekkür ederim.
Ben bunu zevk umuyoruz.
>> HEDEF KİTLE: [duyulamaz].
>> CONNER HARRIS: Tabii ki.
>> HEDEF KİTLE: Bir projenin ne tür CS öğrenci için R kullanmak?
CONNER HARRIS: Yapmanız değil eğer öyleyse tamamen veri madenciliği var bir şey,
örneğin, orada pek çok şey vardır
Eğer veri ile birlikte yapabilirdi madencilik ve makine öğrenme.
Sizin için R kullanmak isteyebilirsiniz bir şeyin bir parçası.
Ben, aslında, örnek getirdi Eğer bir web sitesi yazıyorsanız if
ve otomatikleştirilmiş çalıştırmak istediğiniz Sunucunuzun istatistiksel analiz
Belirli bir süre her gün günlükleri, işte bir şey olabilir
Sadece bir kısa yapmak çok kolay Eğer zamanlayabilirsiniz R komut
Örneğin, her gece çalıştırın.
>> Ve ben, eğer eminim Herhangi bir nedenle orada olurdu var
istatistik veya grafik yetenekleri istiyorum ve yerine otomatik bu çalıştırmak
bir etkileşim zorunda Excel'de şeyler,
örneğin, söz konusu bir şey için R kullanmak isteyebilirsiniz.
Yani ben önce herhangi bir soru daha mı bırakacaksın?
Hayır mı?
Pekala, tekrar teşekkür Geldiğiniz için çok teşekkür ederim.