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

Lin(uxWin)dows Geliyor!

FZ

Şimdi hani anket yapılmıştı ya, masaüstünde ne tercih edersiniz şeklinde. Yani evet, Windows 2000 kullanıyorum ama yani canııım (!) Linux sistemindeki güzelim, şirin mi şirin, etkin ve de yetkin programları kullanamamak da üzüyor beni.\r \r

Ama sanırım yakında üzüntülerim bir nebze olsa giderilecek Lindows OS tarafından ;-)\r \r

Aralık ayı sonuna doğru ilk sürümü (yoksa betası mıydı?) çıkması beklenen bu işletim sistemi tamamen masaüstünü hedefliyor ve hem Windows hem de Linux ortamı için geliştirilmiş pek çok yazılımı çalıştırabileceğini iddia ediyor.\r \r

Mac OS X için Rebol

FZ

Rebol Technologies, REBOL programlama ortamının Mac OS X sürümünü çıkardığını duyurdu. REBOL dili ve IOS (Internet Operating System) ile ilgili daha detaylı bilgiyi buradaki belgelerden edinebilirsiniz.

MuraveyWeb 0.2 CMS - Ruby on Rails ile içerik yönetimi...

anonim

CMS kelimesini görür görmez "Yine bir PHPNuke türevi mi?" diye düşünürek bu haberi okumayacak olanlarınız ciddi bir yanılgıya düşecekler.

Çünkü MuraveyWeb Ruby on Rails teknolojisi ile yazılan ve "Acı çektirmeden site yönetmeyi" vaadeden bir CMS. Üstelik bunu dizayn özgürlüğünüzü de kısıtlamadan yapıyor.

tspell: Türkçe Doğal Dil İşleme Yazılımı

FZ

İlk kez Bilgi Üniversitesi´nin bilgisayar bilimleri e-posta listesinde görmüştüm tspell projesinin adresini, sanırım Mart ayı civarıydı, gidip baktığımda ortada henüz bir şey yoktu. Geçen hafta uğradığımda ise Java ile geliştirilmiş ve hiç de küçümsenmeyecek bir sistem ve güzel bir web sayfası karşıladı beni. Bilişsel bilim (cognitive science) ve doğal dil işleme (NLP - Natural Language Processing) konuları ile uğraşan biri olarak heyecanlandığımı inkâr edemem.

İki Türk programcı tarafından başlatılan ve Türk diline ciddi bir teknolojik hizmet olarak gördüğüm böyle bir projenin varlığı, açık kodlu olması ve paylaşıma açık olarak sunulması beni çok sevindirdi.

Bir hayli iddialı olan projenin 0.2 numaralı sürümü hem doğrudan çalışabilir olarak (200 KB) hem de istenirse Java kodları ile birlikte Internet´ten çekilebiliyor. Geliştiricilerin Eclipse yazılım geliştirme platformunu önermeleri ve tspell Java kaynak kodlarının Eclipse üzerinden nasıl çekilip derlenebileceğini anlatan teknik bir makale yazmış olmaları ise benim gibi konuya hızlı bir giriş yapmak isteyen ancak Eclipse ve Java konusunda çok deneyimli olmayan programcılar için çok ciddi bir artı puan. Görebildiğim kadarı ile Eclipse bir hayli güçlü bir platform, CVS işlevselliği de dahil olmak üzere her türlü aracı bünyesinde sunuyor ve entegre olarak ekip çalışmasınız kolaylaştırıyor.

Visual Perl .NET (her iki dünyanın en iyisi)

FZ

Madem söz web servislerinden ve .NET olgusundan açıldı ben de .NET ve diller arası çalışmaya dair bu haberi göndereyim dedim. Uzun zamandır sağlam bir Perl programcısı olarak çalışan Jonathan Eisenzopf'un Visual Perl.NET konusuna dair güzel bir yazısını okuduktan sonra .NET ve diller arası yazılım geliştirmenin ne menem bir şey olduğuyla ilgili bir bir miktar fikir sahibi olabilirsiniz.

Jonathan arkadaşımız, "In fact, I'm so attached to it that I'll probably be writing more Perl applications in Windows instead of Linux. IT'S THAT GOOD." diyecek kadar etkilenmiş görünüyor ;-)