R-Project ve Uygulamalı İstatistik

0
vst
R-Project istatistiksel hesaplama ve grafik işleme için geliştirilmiş bir dil ve programdır. AT&T Laboratuarlarında geliştirilen ve şu anda Lucent Technologies'e ait olan S-Plus'a benzer bu özgür yazılım, dünyanın önde gelen üniversiteleri, araştırma enstitüleri ve kurumları tarafından yoğun olarak kullanılmaktadır. Kullanım alanı ise finanstan sosyolojiye, psikolojiden meteorolojiye, tıptan ekonometriye uygulamalı istatistik biliminin kullanıldığı hemen heryerdir.
Hayata, evrene ve herşeye dair görgümüz ve bilgimiz arttıkça, yeni keşifler ve dolayısıyla yeni modeller ve türlü türlü veri yığınları ile karşılaşıyoruz. Gördüklerimizi ve bildiklerimizi anlamlandırmak ve ilişkilendirmek içinse istatistik biliminden faydalanıyoruz. Bu kadar veri ile, hem değişken sayısının fazla olması hem de veri serilerinin uzun olmasının getirdiği zorluklar, hem de çağdaş modellerin karmaşıklığı ile baş edebilmek için güçlü istatistiksel araçların kullanımı zorunlu hale geliyor. Bu amaçla kullanılan birçok araç bulunmaktadır. SPSS, Excel, S-Plus, SAS, Matlab, Eviews, Stata gibi onlarca aracın içerisinde R-Project, Scilab, Lisp-stat gibi özgür alternatifler de mevcut. Bunların içerisinde R-Project'in özellikle istatistiksel hesaplama amacıyla tasarlanmış olması, güçlü programlama dili, ve özellikle Unix türevi işletim sistemlerinde meta-programlamaya müsait altyapısı sayesinde akademisyenlerin ve araştırmacıların ilgisini çekmiştir. CRAN adı verilen arşiv ağında (Comprehensive R Archive Network) yüzlerce paket bulunmaktadır. Bunlar, MySQL veritabanı bağlantısından Avusturalya kıtasının haritasına kadar oldukça ilginç paketleri de kapsıyor. Ayrıca ülkemizde de bazı üniversitelerde ders materyali olarak kullanıldığını biliyoruz. Örneğin Bilgi Üniversitesi bir yansı açarak projeye destek vermeye başladı bile.

R-Project GNU-Linux, Macintosh ve Microsoft Windows sistemlerinde çalışmaktadır. Debian sistemlerinde "apt-get install r-base" komutuyla sisteminize yüklediğiniz R-Project'in yorumlayıcısını (Python ve GNUPlot'da olduğu gibi) komut satırında aşağıdaki gibi çalıştırabilirsiniz:

[vst@vsthost:~]$ R

R : Copyright 2005, The R Foundation for Statistical Computing

Version 2.1.0 (2005-04-18), ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.

You are welcome to redistribute it under certain conditions.

Type 'license()' or 'licence()' for distribution details.

Natural language support but running in an English locale

R is a collaborative project with many contributors.

Type 'contributors()' for more information and

'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or

'help.start()' for a HTML browser interface to help.

Type 'q()' to quit R.

>



R çalıştıktan sonra ">" işaretine kadar programa dair bilgileri ekrana getirir. ">" istemcisinden sonra istediğiniz türlü türlü işlemi yapabilirsiniz: ("#" karakterini takip eden ifadeler yorumlardır. Yorumlayıcı tarafından dikkate alınmaz)

> 42 # 42'nin değeri kaç?

[1] 42

> ornek.vector = c(1,3,5,7,2,4,6,8) # örnek bir vektör

> ornek.vector # içerisini görelim

[1] 1 3 5 7 2 4 6 8

> mean(ornek.vector) # ornek.vector'ün aritmetik ortalaması kaç?

[1] 4.5

> normal.dagilim = rnorm(250) # 250 elemanlı bir normal dağılım

> mean(normal.dagilim) # aritmetik ortalaması 0'a yakın olmalı

[1] -0.00670608

> var(normal.dagilim) # varyansı 1'e yakın olmalı

[1] 1.060574

> plot(sin,-pi,pi) # sinüs fonksiyonunun [-pi,pi] aralığındaki grafiği



Elbetteki yüzlerce hazır fonksiyonu ve gerçek bir dil olan R programlama dilini burada detaylı olarak tanıtmamız mümkün değil. Ancak iştahınızı kabartmak amaçlı neler yapılabileceğinize dair kısa örnekler:

İnternette duran MySQL veritabanınıza bağlanıp sitenizin kullanıcı verilerini alan, bunları yorumlayan, PNG grafikler üretip, sonra da bir dosyaya istediğiniz formatta hazırladığınız LaTeX çıktısını yazan, hemen ardından sisteminizdeki "pdflatex" komutuyla pdf dosya hazırlayan bir R programı yazmanız mümkün. Hatta, bunu bir CGI programı olarak tasarlamanız da mümkün. Ya da, bir seri JPG dosya hazırlayıp, yine sisteminizdeki "jpegtoavi" programını ya da "mplayer" programının "mencoder" adı verilen encoderını kullanarak bir avi ya da divx olarak hazırlayan bir R programı yazmanız da mümkün. Daha gelişmiş kullanımlar ve özel amaçlar için tasarlamış olduğunuz programlama kütüphanelerini R-Project'e paket olarak yükleyip, bunları kullanabilirsiniz. Bu bağlamda ne kadar işinize yarar bilmem ama, R'ı bir email client olarak bile kullanabilirsiniz.

Ülkemizdeki R-Project aktivitesine dair bilginiz, eklemek istedikleriniz ya da sormak istedikleriniz varsa tam sırası...

Görüşler

0
FZ
Lisp burada da karşımıza çıktı:

"The design of R has been heavily influenced by two existing languages: Becker, Chambers & Wilks' S (see What is S?) and Sussman's Scheme. Whereas the resulting language is very similar in appearance to S, the underlying implementation and semantics are derived from Scheme."

http://cran.r-project.org/doc/FAQ/R-FAQ.html
0
pismikrop
R, görüntü işleme ve wavelet konusunda uzun bir süredir kullandığımız bir yazılım. Matlab'a karşı herkese bunu önermeme rağmen yine de Türkiye'de pek kullanan olmamasının üzüntüsü içindeyim.
0
FZ
Bu dediklerinizi bir üniversitede mi yapıyorsunuz? Eğer öyle ise hangi üniversite olduğunu sorabilir miyim? (Tabii bir şirket ise ve sakıncası yoksa bunu da öğrenmek isterim).

Ayrıca, neden görüntü işleme ve wavelet analizi için Matlab yerine R-Project'i tercih ettiğinizi de biraz açabilir misiniz? Hazır R paketlerinden mi faydalanıyorsunuz yoksa kendiniz bazı şeyler mi geliştirmek durumunda kaldınız, vs. vs.?
0
pismikrop
wavelet ile şifreleme yapmıştık, abstract'ı gönderebilirim. İTÜ ve Sakarya üniversitesi ortak yapmıştık. Tercih etmemizin tek sebebi ise özgür yazılım olması idi.
0
bm
Mumkunse sadece abstracti degil yazinin kendisini de webde bir yere koysak?
0
FZ
BM'ye katılıyorum, makalenize Internet üzerinden erişebilir miyiz?

R'yi tercih etmenizin tek sebebi gerçekten de özgür yazılım olması mıydı? Yani diğer benzeri yazılımlarla teknik açıdan hiç kıyaslamadınız mı?
0
vst
İsterük, isterük...

Uzun zamandır, R paket listesine bakarak eğleniyorum. Gözüme çarpan paketlerden birisi de rimage idi. Bu ve bunun gibi görüntü işleme paketlerinin nasıl kullanıldığına dair bilgi almayı çok isteriz...
0
pismikrop
Evet ben cryptology kısmı ile ilgileniyordum abim ise wavelet kısmı ile, İTU Elektronik fakültesi dekanı Serhat ŞEKER bey'de wavelet kısmı ile ilgilendir. Bu konuda inşallah bir makale yazıp burada sevgili arkadaşlara sunarız. Yakında ufak bir imge işleme uygulaması yazabilirim sanırım.
0
FZ
En kısa sürede bekliyoruz makalenizi.
0
damla88
Merhaba
R Proje yi yeni ogreniyorum. Ilk adimda bir problemle karsilastim. Excel dosyasini programa adapte etmem gerekiyor. csvye cevirip etmeye calistim ama basarili olamadim. Yardimci olabilirseniz cok sevinirim.
0
FZ
Ben de benzer problemle karşılaşmıştım, lütfen Türkçe Windows kullanıp kullanmadığınızı kontrol edin, eğer Türkçe ise ve EXCEL'den CSV'ye aktardığınızda CSV dosyasının içine ayraç (separator) olarak ',' yerine ';' yani virgül yerine noktalıvirgül kullanıldı ise R 'default' olarak ',' bekliyor olmaktan ötürü problem çıkarıyor olabilir. Ya R'nin ilgili csv fonksiyonlarına bakıp ;'ı ayraç kabul ettirebilir yahut EXCEL'e ';'li değil ','li CSV ürettirmeyi deneyebilir yahut... size kalmış yani, yöntemlerden birini seçebilirsiniz.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Eclipse Platformu için JavaScript Eklentisi: JSEclipse

Soulblighter

Eclipse Platformu için ücretsiz JavaScript eklentisi olan JSEclipse, Eclipse Platformu üzerinde JavaScript geliştirmek isteyenlere bir çok kolaylık sağlıyor.

Beta olmak ya da olmamak

redogre

Ya da bir projeyi Beta olarak yayınlarken yapılmaması gerekenler.

Malum Fm wars büyük bir gazla yayına başladı ama birçok hata yüzünden haftalardır oynayan yok. Ben kısaca yaptığım hataları sıralayacağım, eksik gördüklerinizi eklersek şahane bir "Ne yapmalı ne yapmamalı" olabilir...

Prototype Javascript Framework

tongucyumruk

Web bir uygulama geliştirme platformu olarak kendini kabul ettireli çok oldu. Şimdi Web 2.0 gibi konuar tartışılırken web'in her geçen gün artan popülerliği yanında gerçekleştirilmesi gitgide zorlaşan kullanıcı taleplerini yanında getiriyor. İnsanlar her geçen gün daha etkileşimli, daha hareketli web uygulamaları istiyor. Bu durumun her geçen gün programcıları daha fazla yorması sonucunda bugün ulaştığımız noktada artık JavaScript ile yazılmış etkileşimli web uygulamaları geliştirmeyi kolaylaştıran altyapı yazılımları da ortaya çıkmaya başlıyor. İşte Prototype Javascript Framework'te bu amaçla ortaya çıkmış bir altyapı yazılımı.

Oyun Oynamayı Öğrenen Sistem: CogVis

FZ

Yorkshire, İngiltere'deki University of Leeds araştırmacıları tarafından geliştirilen CogVis sistemi "kağıt, makas, taş" oyununu sadece gözlem yaparak oynamayı öğrendi. Sistem kaydettiği video ve ses verisindeki örüntüleri tarıyor ve hipotezler öne sürüp bunları test ederek oyunun kurallarını yavaş yavaş öğreniyor. Sistemde önceden oyuna dair tanımlanmış (hard-coded) herhangi bir kural bulunmuyor.

Kaynak: http://www.newscientist.com/article.ns?id=dn6914

FM sitesinde daha önce yapay zeka ve bilişsel bilim (cognitive science) ile ilgili yayınlanmış bazı yazılar:

SPAM´e Türk Yazılımcıların Cevabı: zabit

honal

Türkiye'nin ilk açık kod yazılım geliştirme takımı EnderUNIX, yeni yazılımını sunar: zabit

Internet kullanıcılarının ve sistem yöneticilerinin en önemli problemlerinden birisi kuşkusuz spam e-postalardır. Yıllardır Qmail üzerine çalışan ekibimiz, Qmail için bir spam filitreleyici yazmıştır. Geliştiricilerimizden N.Ersen Şişeci tarafından geliştirilen yazılım, içerik ve eklenti filitreleme özelliklerine sahiptir.

Tamamen C ile yazılan ve bu nedenle script dilleri ile yazılmış eşdeğerlerine göre oldukça hızlı olan yazılım, virüs tarayıcı clamav ile birlikte çalışabilmektedir. Eklenti filitrelemesi sayesinde Clamav'ın taradığı dosya sayısı yaklaşık 1/3 oranında azalmaktadır. Böylece e-posta sunucunuzun performansı bir hayli artmaktadır. İçerik filitreleme ile de kullanıcılara çok daha az spam e-posta ulaşmaktadır.