Merhaba arkadaşlar bu derste R programala kontrol yapılarını işleyeceğiz R programlamada yukardaki şekilde görüldü gibi 3 tür kontrol yapısı vardır. Bunlarda kendi içindi alt başlıklara bölünmüş ilk olarak döngülerden başlicağız
1.DÖNGÜLER
1.1 For()
veri<-c(rep(1:10)) #1 den 10' a kadar sayı içeren bir vektörü tanımlar
for(ornek in veri)
{
print(ornek)
}
Açıklama:for döngüsü ile veri vektörü içindeki değişkenleri tek tek gösterir
for(ornek in veri)
{
str<-paste(ornek, "veri mevcut", sep="")
print(str)
}
Açıklama: Vektör değerlerini bir string ile birleştirerek tek tek gösterir.
for(ornek in veri){if(ornek==3)breakstr<-paste(ornek, "veri mevcut", sep="")print(str)}Açıklama:Vektör değer 3 olduğunda döngüden çıkar
for(ornek in veri){if(ornek%%2==0)nextstr<-paste(ornek, "veri mevcut", sep="")print(str)}Açıklama:2'ye tam bölünmeyenleri yazdırırson<-length(veri)baslangic<-son-2for(ornek in baslangic:son){str<-paste(ornek, "veri mevcut", sep="")print(str)}Açıklama:Son 3 değeri yazdırır
1.2 While()
While() döngüsü şartlar yerine getirilene kadar komutar bloğunu çalıştırır.
x<-1
while(z<5)
{
x<x+1
print(x)
}
Açıklama:x, 5 ten küçük olduğu sürece 1'er 1'er artırılarak ekrana yazdırılır
x<-1while(z<5){x<x+1if(x==3)break;print(x)}Açıklama:x, 3 'e eşit olduğunda döngüden çıkar
x<-1while(z<5){x<x+1if(x==3)next;print(x)}Açıklama: x=3 dışındaki değerleri yazdırır
1.3 Repeat()
Repat "while" ve "for" döngüsüne benzemektedir, bir komut bloğu sona erene kadar yürütür.
toplam<-0
repeat
{
toplam<-toplam+1; print(toplam);if(toplam>6) break;
}
Açıklama:toplam değişkeni 6 dan büyük olana kadar döngü devam eder ve toplamdeğişkeni 1'er 1'er artar
2.KOŞULLAR
2.1 İfelse()
veri<-c(rep(1:10)) #1 den 10' a kadar sayı içeren bir vektörü tanımlar
for(ornek in veri)
{
if(ornek%%2!=0)next
else print(ornek)
}
Açıklama:2 ile kalansız bölünenleri yazdırır
ifelse(veri>6,2,1)
Açıklama:Veri 6' dan büyükse ekrana 2 yazdır,değilse 1 yazdırır
3. DURUMLAR
3.1 which()
which() fonksiyonu mantıksal bir nesnenin "TRUE" indexini verir, dizi indexine izin verir
which(letters=="h") # h harfinin alfabedeki sırasını verir
which(BOD$demand==16) #BOD verisindeki demand değeri 16'ya eşit olan karşılığını verir
x-<matrix(1:9,3,3) #3x3 lük 1 den 9'a kadar bir matrix tanımlar
which(x%%3==0, arr.ind=TRUE) # x matrixinden 3'e tam bölünenlerin satır ve sütun numaralarını gösterir
which(x%%3==0, arr.ind=FALSE) #x matrixinden 3'e tam bölünenleri gösterir
0 yorum:
Yorum Gönder