Bu dökümandaki alıştırmalar ilgili temel R eğitim dökümanı tamamlandıktan sonra yapılabilir. Kodunuzun çıktısı sorularda verilen çıktı ile benzer olmalıdır. Bazı komutların önünde set.seed()
fonksiyonu bulunmaktadır. Rastgelelik içeren işlemlerde herkesin aynı sonucu bulabilmesi için kullanılmaktadır.
Varsayalım ki bugünkü Dolar/TL kuru 3.70. Önümüzdeki 60 günün dolar tahminini aşağıdaki formül ile hesaplıyoruz.
#Aşağıdaki iki satırı kopyala yapıştır ile
set.seed(135)
dolar<-round(3.7*exp(cumsum((0.02-0.5*(0.2^2))/252 + 0.2*rnorm(60)*sqrt(1/252))),4)
#İlk 10 gün ile kendi verilerinizi kontrol edin.
print(dolar[1:10])
## [1] 3.6793 3.6578 3.6530 3.7184 3.6572 3.6685 3.7246 3.7040 3.7238 3.7693
Dolar tahmin verisiyle aşağıdaki bilgileri hesaplayın.
1’den 15’e kadar bir döngü içerisinde eğer değer 3 ile tam bölünebiliyorsa “Akademik”, 5 ile tam bölünebiliyorsa “Bilişim”, 15 ile tam bölünebiliyorsa “Akademik Bilişim” yazdırın (Not: 15’te ayrıca Akademik veya Bilişim yazılmamalı.). (İpucu: Bölünebilirliği modüler aritmetik operatörü %%
ile yapabilirsiniz. Örneğin 4%%3
1 değerini verirken 4%%2
0 değerini verir..)
## [1] 1
## [1] 2
## [1] 3
## [1] "Akademik"
## [1] 4
## [1] 5
## [1] "Bilişim"
## [1] 6
## [1] "Akademik"
## [1] 7
## [1] 8
## [1] 9
## [1] "Akademik"
## [1] 10
## [1] "Bilişim"
## [1] 11
## [1] 12
## [1] "Akademik"
## [1] 13
## [1] 14
## [1] 15
## [1] "Akademik Bilişim"
(İsteğe bağlı ek alıştırma) Bunu bir döngü olmadan yapmaya çalışın.
## 1 2 3
## "" "" "Akademik"
## 4 5 6
## "" "Bilişim" "Akademik"
## 7 8 9
## "" "" "Akademik"
## 10 11 12
## "Bilişim" "" "Akademik"
## 13 14 15
## "" "" "Akademik Bilişim"
Aşağıdaki veri seti 10 şehrin birbirinden olan uzaklıklarını belirtmektedir.
#Uzaklik matrisini almak için aşağıdaki dört satırı kopyalayıp yapıştırın.
set.seed(2017)
uzaklik_matrisi<-matrix(sample(10:50,100,replace=TRUE),ncol=10)
uzaklik_matrisi[lower.tri(uzaklik_matrisi)]<-0
uzaklik_matrisi <- uzaklik_matrisi + t(uzaklik_matrisi)
diag(uzaklik_matrisi)<-0
uzaklik_matrisi
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 0 37 35 46 32 31 20 50 15 45
## [2,] 37 0 25 10 34 46 25 38 45 36
## [3,] 35 25 0 22 18 24 34 16 30 31
## [4,] 46 10 22 0 13 36 40 46 47 32
## [5,] 32 34 18 13 0 40 39 49 19 44
## [6,] 31 46 24 36 40 0 29 25 17 15
## [7,] 20 25 34 40 39 29 0 26 16 43
## [8,] 50 38 16 46 49 25 26 0 16 18
## [9,] 15 45 30 47 19 17 16 16 0 46
## [10,] 45 36 31 32 44 15 43 18 46 0
Bu şehirlerde gezen bir satış görevlisi düşünün. Verilen herhangi bir rota için satıcının gideceği toplam mesafeyi bulan bir fonksiyon yazınız. Bu fonksiyon uzaklık matrisini de girdi olarak alsın.
Şehir rotası 1-5-2-6-7-2-4-1 olan bir satışçının toplam aldığı mesafeyi hesaplayın.
toplam_mesafe_hesapla(uzaklik_verisi=uzaklik_matrisi,rota_bilgisi=c(1,5,2,6,7,2,4,1))
## [1] "Toplam mesafe: 222"
Bilgisayara 1 ile 100 arasında rastgele bir sayı tutturun ve kullanıcının bu sayıyı tahmin etmesini sağlayın. Her tahminde kullanıcının tahmininin bilgisayarın tuttuğu sayıdan düşük veya yüksekse bunu belirtin. Kullanıcı 10 tahminde sonucu alamıyorsa oyunu bitirin.
## [1] "Bir sayı tuttum. Bakalım bilebilecek misin? 10 tahmin hakkın var."
## [1] "1 ile 100 arasında bir sayı girin: 54"
## [1] "Tuttuğum sayı tahmininden yüksek."
## [1] "Alt 55"
## [1] "Kalan tahmin hakkın: 9"
## [1] "1 ile 100 arasında bir sayı girin: 76"
## [1] "Tuttuğum sayı tahmininden yüksek."
## [1] "Alt 77"
## [1] "Kalan tahmin hakkın: 8"
## [1] "1 ile 100 arasında bir sayı girin: 83"
## [1] "Tuttuğum sayı tahmininden yüksek."
## [1] "Alt 84"
## [1] "Kalan tahmin hakkın: 7"
## [1] "1 ile 100 arasında bir sayı girin: 97"
## [1] "Tuttuğum sayı tahmininden düşük."
## [1] "Üst 96"
## [1] "Kalan tahmin hakkın: 6"
## [1] "1 ile 100 arasında bir sayı girin: 94"
## [1] "Tuttuğum sayı tahmininden düşük."
## [1] "Üst 93"
## [1] "Kalan tahmin hakkın: 5"
## [1] "1 ile 100 arasında bir sayı girin: 84"
## [1] "Tuttuğum sayı tahmininden yüksek."
## [1] "Alt 85"
## [1] "Kalan tahmin hakkın: 4"
## [1] "1 ile 100 arasında bir sayı girin: 88"
## [1] "Tuttuğum sayı tahmininden yüksek."
## [1] "Alt 89"
## [1] "Kalan tahmin hakkın: 3"
## [1] "1 ile 100 arasında bir sayı girin: 91"
## [1] "Tuttuğum sayı tahmininden yüksek."
## [1] "Alt 92"
## [1] "Kalan tahmin hakkın: 2"
## [1] "1 ile 100 arasında bir sayı girin: 92"
## [1] "Tuttuğum sayı tahmininden yüksek."
## [1] "Alt 93"
## [1] "Kalan tahmin hakkın: 1"
## [1] "1 ile 100 arasında bir sayı girin: 63"
## [1] "Tuttuğum sayı tahmininden yüksek."
## [1] "Alt 64"
## [1] "Kalan tahmin hakkın: 0"
## [1] "Oyun bitti :/"