Categories
R

R Öğrenmek İsteyenlere

R programlama dili okyanus gibidir, her programlama dili gibi. Amacınız o okyanusu yüzerek keşfetmek ise benim tavsiyem online dersler. Özellikle İngilizce’niz varsa uygun fiyatlara erişebileceğiniz birçok online eğitim mevcut. Türkçe kursların fiyatlarına göre oldukça uygun olduklarını söylemem lazım. Veri analizi gibi bir alanda uzmanlaşmak istiyorsanız öncelikli tavsiyem dili seçmeniz. Ben edx’in ücretsiz kursları ile R’a başladım ve nedense Phyton’u hiç denemedim.

Coursera, edx, Udemy gibi sitelerde birçok R eğitimi mevcut. Benim ilk aldığım eğitim edx’te Datacamp tarafından hazırlanmış temel seviyede bir eğitimdi. Daha sonrasında Stackexchange, bloglar ve paket dosyaları ile ihtiyacım olan kısımları çözebildim. Ancak sizin kariyer haliniz veri analizi konusunda uzmanlaşmak ise bundan fazlasına ihtiyacınız var. Bu noktada benim tavsiyem Datacamp olacak. Orta seviyede İngilizce ile dersleri anlamanız mümkün çünkü sunumları indirebileceğiniz gibi anlatımları altyazılı da dinleyebilirsiniz. Sadece R öğrenmek de zorunda değilseniz, daha popüler olan Phyton ile SQL, hesap tabloları yazılımlar da Datacamp eğitimlerine dahil. “Kariyer Kursları” ve “Yetenek Kursları” ile sertifikalı eğitimler alabilirsiniz.

Datacamp indirimlerini takip etmenizi öneririm çünkü tek ödemeyle birçok derse erişebildiğiniz gibi telefon uygulaması ile günlük olarak bilginizi test edebiliyorsunuz. Ben mevcut üyeliğim için $99 ödemiştim Siber Pazarteside. Mayıs 2020 kampanyasında yıllık fiyatı $149 olarak belirtmişler. Elbette bu fiyatı pahalı bulanlar olacaktır ancak temel R kursları ortalama bir kurum tarafından verildiğinde en düşük fiyat 2.000 ₺ oluyor. Tek ödemeyle alabileceğiniz derslerin sayısı ve kalitesi göz önüne alındığında Datacamp bence hepsinin önüne geçiyor.

Datacamp Mayıs ayı kampanyası

Categories
R

Regresyona ağırlık eklemek

Program fark etmeksizin regresyon komutu aynı varsayımla çalışır; bütün gözlemler eşit ağırlıktadır. Yani kümesel bir dağılım tamamiyle göz ardı edilir.

Peki bu kümelerin sonuçlara bir etkisini varsayıyorsak nasıl bir yol izleyebiliriz?

İlgili kümenin toplamdaki ağırlığını verisetini ekleriz bir de üstüne bunu regresyonda kullanırız.

Kümenin ağırlığını nasıl hesaplayacağız?

1/kümedeki gözlem sayısının kare kökü

Excel formulü?

=1/SQRT(kümedeki gözlem sayısı)

R’da ağırlıkların kullanımı?

lm(y~x1+x2,data=veriseti, weights = Ağırlık Kolonu Adı)

Categories
R

R'da Standart hataları şirket-yıl seviyesinde kümelemek

R/R-Studio’nun işletme sistemi fark etmeksizin kullanılabilmesi, paketlerle genişletilebilmesi ve tabii ki ücretsiz olması kullanımını cazip hale getiriyor. Ancak bu özellikler kullanımının çok kolay olduğu anlamına gelmiyor. Bazı programlarla sadece iki tıklamayla çözülebilecek bir model/test/analiz için kod(lar) yazmanız gerekebiliyor. Benzer bir durum Stata’yla karşılaştırdığınızda da geçerli. Doğrusal regresyonun sağlamlık testi için “robust” veya “vce” eklemeniz yeterliyken R/R-Studio bu işi paketlerle hallediyor.

Öncelikle kullancağımız verisetini tanımlayalım (plm paketi içerisindeki EmplUK)

install.packages(plm)

library(plm)

data(EmplUK)

Doğrusal regresyon modelimizi şirket ve yıl sabit olarak (kukla değişken kullanarak) çalıştıralım.

emplm<-lm(emp~wage+capital+output+factor(firm)+factor(year),data=EmplUK)

coeftest ve sandwich paketlerini kullanarak standart hataları firma-yıl olarak kümeleyeceğiz. Vektörün kayıt edilebilmesi için her iki paketin de library() fonksiyonu ile etkinleştirilmesi gerekiyor. İşlem verisetinin büyüklüğüne göre normalden uzun sürecektir.

emplm_SE<-coeftest(emplm,vcov=vcovHAC(emplm,type="HC0",cluster=c(EmplUK$firm,EmplUK$year)))

İşinize yaraması dileğiyle.

Categories
R

R'da regresyon modellerini Excel'e aktarmak

R kullanarak yaptığım ilk regresyon modelimin sonuçlarını çalışmama aktarırken write.csv’den tutun da write ile başlayan bütün dışa aktarımı fonksiyonlarını denedim. Hiçbiri kabul etmedi summary fonksiyonu ile çalışmayı. Biraz da el hızıma güvenip babadan kalma bir yöntemi kullanmaya başladım: kadar: kopyala + yapıştır. Söz konusu olan R’ın regresyon sonuç tabloları ise bu yöntem biraz uğraştırıyor açıkçası. Excel’e aktardığım tabloların biçimini satır satır düzeltmek gerekiyor aslında. Satırları sütunlara çevirmeden faydalanıp istediğim gibi biçimlendiriyordum tablolarım. R için düzenli ziyaret ettiğim Stack Exchange’de denk geldiğim cevaplar da çoğunlukla “stargazer” paketini tavsiye ediyordu.. Aklımın hep kenarında olup kurulu paketlerde aylardır bekleyen stargazer‘i denemeye kadar verdim bir gün. HTML biçiminde dosyaya aktardığım tabloları Excel’e aktarmak gerçekten çok basitleşti o andan itibaren. Kullanınca da fark ettim ki aslında benim teker teker yaptığım her adımı stargazer bitirilmiş halde önüme sürüyor. Eğer LaTeX diline hakimseniz tabloların sunumunu daha da geliştirmek elinizde. Paketin anlatımı kılavuza dayanarak yapılmıştır.

Önce paketi kuralım, sonra da çağıralım

>install.packages("startgazer")
>library(stargazer)

Sonuçlarını tablolara yansıtmak istediğimiz üç farklı model oluşturualım

>linear.1 <- lm(rating ~ complaints + privileges + learning + raises + critical, data=attitude)
>linear.2 <- lm(rating ~ complaints + privileges + learning, data=attitude)

>attitude$high.rating <- (attitude$rating > 70)
>probit.model <- glm(high.rating ~ learning + critical + advance, data=attitude, family = binomial(link = "probit"))

Pakete ait stargazer fonksiyonunu en temel haliyle kullanmak için aşağıdaki komutu çalıştırın

>stargazer(linear.1, linear.2, probit.model, title="Karşılaştırmalı Sonuçlar", digits=4, align=TRUE)

Yukarıdaki formül size sonuçları LaTeX formatında ve ondalık hanade 4 basamak ile verecek verecek. Bugüne kadar hiç LaTeX ile çalışmadıysanız (benim gibi), sonuçları HTML olarak elde etmeniz mümkün.

>stargazer(linear.1, linear.2, probit.model, title="Karşılaştırmalı Sonuçlar", align=TRUE,digits=4,type="html")

Peki sonuçları Excel’e aktarmak için ne yapmak gerekiyor?

>write.csv(stargazer(linear.1, linear.2, probit.model, title="Karşılaştırmalı Sonuçlar", align=TRUE,digits=4,type="html"),file="model.csv")

CSV dosyasını Excel veya Calc ile açın, ve B kolonunda <table> ile </table> arasındaki bütün kodları kopyalayıp Windows’un Not Defteri’ne (notepad.exe) yapıştırın. Dosyayı HTML uzantısı ile kaydedip tarayıcınız ile açın ve istediğiniz gibi düzenleyin.

Adım adım gittiğinizde emin olun ki R’dan Excel’e kopyalayıp yapıştırmaktan daha kolay olduğunu göreceksiniz. Kolay gelsin.