Merhaba arkadaşlar geçen dersimizde R programlamaya giriş yapmıştık, bu dersimizde R programlama veri tiplerininden bahsedecem ve bu veri tipleri ile ilgili örnekler yapacam. İlk veri tipi olarak Dizilerden başlayalım
1 Temel Veri Tipleri
1.1 İnteger:
R programlama dilinde tamsayı değişken oluşturmak için as.integer fonksiyonu çağrılır. Ayrıca is. integer fonksiyonunu uygularak y'nin gerçekten bir tamsayı olduğundan emin olabilinir.
y=as.integer(3) #y değişkenine 3 değeri atandı
y #y değişkenini konsolda görüntüler
class(y) #y değişkenini türünü(sınıfını) gösterir. aşağıdaki cevabı verir
[1] "integer"
is.integer(y) #y değişkeni tamsayı mı değil mi onu kontrol eder ve sonuca göre "TRUE" ve "FALSE" döndürür
Bu arada as.integer fonksiyonu bir numerik değeri, tamsayı değer olmaya zorlar
as.integer(3.14) #aşağıdaki sonucu gösterir
[1] 3
Aynı şekilde ondalık değerler için stringleri ayrıştırılabilir
as.integer("5.27")
[1] 5
Diğer taraftan ondalık olmayan bir stringi ayrıştırmaya çalışırken hata verir.
as.integer("Sukru")
[1] NA
warning message:
Genellikle, mantıksal değerler üzerinde aritmetik işlemler gerçekleştirmek içinde faydalıdır. C dilindeki gibi "TRUE", 1 değerini ifade eder, "FALSE" ise 0 değerini ifade eder.
as.integer(TRUE)
[1] 1
as.integer(FALSE)
[1] 0
1.2 Karmaşık sayılar
R programlamada A complex değeri, saf sanal değer "i" aracılığıyla tanımlanır
z=1+2i #Karmaşık bir değer oluşturur
z #z değerini gösterir
[1] 1+2i
class(z) # z değerinin sınıfını(türünü) gösterir
[1] "complex"
-1 karmaşık bir sayı olmadığından, karekökü alınınca aşağıda görüldüğü gibi hata verir
sqrt(-1)
[1] NA
warning message
-1 'in yerine -1+0i karmaşık değerini kullanmak zorundayız
sqrt(-1+0i)
[1] 0+1i
Alternatif olarak -1 değerini karmaşık bir değer olmaya zorlanabilir.
sqrt(as.complex(-1))
[1] 0+1i
1.3 Mantıksal
Mantıksal bir değer genellikle değişkenler arasındaki karşılaştırılma yoluyla oluşturulur.
x=1;y=2 #Örnek değerler
z=x>y #x, y den daha mı büyük
z #z mantıksal değerin sonucunu gösterir
[1] FALSE
class(z) # z'nin sınıfını(türünü) gösterir
[1] "logical"
Standart mantıksal işlemler &(and), |(or) , !(negation) dır
u=TRUE; v=FALSE #örnek değerler
u&v #mantıksal and işlemi
[1]FALSE
u|v #mantıksal or işlemi
[1]TRUE
!u #mantıksal negation işlemi
[1]FALSE
1.4 Karakterler
Bir karakter nesnesi, R da string değerleri temsil etmek için kullanıılır. as.character() fonskiyonuyla nesneler, karakter değerlerine çevirir.
x=as.character(3.14) #3.14 ondalık değeri character dizisine çevirdi
x # x 'i gösterir
[1] "3.14"
class(x) #x'in türünü gösterir
[1] "character"
İki karakter değerini, paste() fonsiyonu ile birleştirilebilir
firsname="sukru"; lastname="erguntop"
paste(firstname, lastname)
[1]sukru erguntop
Bununla birlikte, sprintf() fonsiyonu ile okunabilir bir dizi oluşturmak için genellikle daha uygundur, C dili yazum kuralına sahiptir
sprintf("%s has %d dolar", "sam",100)
[1]sam has 100 dolars
Alt dize çıkarmak için, substr() fonksiyonu uygulanır. Bir dizide, 3. ve 12. pozisyonların arasında alt dizi nasıl çıkarıldığı aşağıdaki örnekte gösterilmektedir
substr("Mary has a little lamb", start=3,stop=12)
[1] "ry has al"
Ve dizide, "little" kelimesini "big" kelimesi ile yer değiştirmek içinde sub() fonksiyonu kullanılır
sub("little","big","Mary has a little lamb.")
[1]"Mary has a big lamb"
R documentasyonunda string manipulasyonu için daha fazla fonksiyonlar bulunabilir.
help("sub")
2-Vektörler
Vektör, aynı temel tip veri elemanlarının dizisidir. Vektör elemanlarına resmi olarak bileşen denilir. Yinede biz bu derslerimizde vektör üyeleri diyeceğiz.
c(2,3,5) #numerik değer olan 2,3,5 değerlerini içeren vektör
[1]2,3,5
c(TRUE,FALSE,FALSE,TRUE) # mantıksal değer içeren vektör
[1]TRUE,FALSE,FALSE,TRUE
c("aa","bb","cc","dd") #Karakter dizisi içeren vektör
[1] "aa","bb","cc","dd"
Bu arada, length() fonksiyonu ile bir vektördeki üyelerin sayısı verilir
length(c("aa","bb","cc","dd"))
[1]4
s=c("aa","bb","cc","dd")
s[3]
[1]="cc"
Eğer negatif indexs verirsek o indexteki üyeyi çıkarır
s[-3]
[1]"aa","bb","dd"
Mantıksal vektör indeksleri
s=c("aa","bb","cc","dd")
s[c(TRUE,FALSE,FALSE,TRUE) ] #TRUE olduğunda karşılık gelen elamnı gösteri FALSE ise göstermez
[1]"aa","dd"
s=c("aa","bb","cc","dd")
s[3]
[1]="cc"
Eğer negatif indexs verirsek o indexteki üyeyi çıkarır
s[-3]
[1]"aa","bb","dd"
Mantıksal vektör indeksleri
s=c("aa","bb","cc","dd")
s[c(TRUE,FALSE,FALSE,TRUE) ] #TRUE olduğunda karşılık gelen elamnı gösteri FALSE ise göstermez
[1]"aa","dd"
2.1 Vektör Birleşimi
Vektörler c() fonksiyonu aracılığıyla birleşebilirler. Örneğin n ve s vektörleri olan aşağıdaki iki vektör, her iki vektörün elementlerini içeren yeni bir vektöre atanabilir.
n=c(2,3,5)
s=c("aa","bb","cc","dd")
c(n,s)
[1]2,3,5, "aa","bb","cc","dd"
2.2 Vektör İşlemleri
Vektörlerin aritmetik işlemleri üye üye yapılmaktadır. Örneğin a ve b adında iki vektöre sahip olduğumuzu varsayalım
a=c(1,3,5,7)
b=(1,2,4,8)
Sonra a vektörünü 5 ile çarparsak, vektörün üyelerinin her birinin 5 ile çarpımını elde ederiz.
5*a
[1]5,15,25,35
Ve a ve b vekörlerini toplarsak, toplam, a ve b nin karşılıklı üyelerinin toplamı olan tüm üyelerin vektörü olurdu
a+b
[1]2,5,9,15
Çıkarma,çarpma ve bölme işlemi içinde benzer şekilde, üyeye özgü işlemler aracılığıyla yeni bir vektör elde edilir.
a-b
[1]0,1,1,-1
a*b
[1]1,6,20,56
a/b
[1]1.00,1.500,1.250,0.875
Geri Dönüşüm Kuralı
Eğer iki vektörün uzunluğu eşit değilse, uzun olan vektörle eşleştirmek için, kısa olan geri dönüşüm olacak, Örneğin farklı uzunluklara sahip aşağıdaki u ve v vektörleri, toplamı kısa olan u vektörünün geri dönüşüm kuralı ile hesaplanır
u(10,20,30)
v(1,2,3,4,5,6,7,8,9,)
u+v
[1]11,22,33,14,25,36,17,28,39
2.3 Adlandırılan Vektör Üyeleri
Örnek
v=c("Mary","Sue")
names(v)=c("First",Last)
v
[1]First Last
Mary Sue
Aşağıdaki şekilde de yapılabilir
v[c("Mary","Sue")]
v
[1]First Last
Mary Sue
Faydalı paylaşım. elinize sağlık...
YanıtlaSilAli METİN
Computer Engineer
Good Work..
http://ibrahimalimetin.blogspot.com.tr/
https://www.youtube.com/channel/UCt3B_hx_MvI6ICOJxRVMtDw