1. Boyutları kullanıcı tarafından belirlenen ve elemanları satır ve sütun indeksleri çarpımına eşit olan matrisi oluşturma fonksiyonu
matris_olustur <- function() {
m <- as.integer(readline(prompt = "Kaç satırı olsun? :"))
n <- as.integer(readline(prompt = "Kaç sütunu olsun? :"))
m1 <- matrix(0, nrow = m, ncol = n)
for (i in 1:nrow(m1)) {
for (j in 1:ncol(m1)) {
m1[i, j] <- i * j
}
}
if (m < 11 & n < 11) {
m1
} else{
head(m1, 10)
}
}
2. İstenilen sayıda veri seti oluşturan fonksiyona uyarı mesajı eklenmesi
veri_seti_olustur <- function(v_say = 1,
satirsay = c(1),
sutunsay = c(1)) {
v_list <- list()
for (j in 1:v_say) {
sutun <- sutunsay[j]
satir <- satirsay[j]
veri_seti <- data.frame(matrix(0, ncol = sutun, nrow = satir))
for (i in 1:ncol(veri_seti)) {
veri_seti[, i] <- round(rnorm(nrow(veri_seti)), 2)
}
if (v_say != length(satirsay) |
v_say != length(sutunsay) | length(satirsay) != length(sutunsay)) {
stop(
"Veri setlerinin sayısı, satır adedi ve sütun adedi birbirine eşit olmalıdır. Girdiğiniz argümanları tekrar kontrol edin."
)
}
v_list[[j]] <- veri_seti
writexl::write_xlsx(v_list[[j]],
path = paste("veri_", j, ".xlsx", sep = ""))
}
head(v_list, 1)
}
veri_seti_olustur(
v_say = 5,
satirsay = c(5, 10, 15, 20, 25),
sutunsay = c(10, 20, 30, 40, 50)
)
## [[1]]
## X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
## 1 -1.31 -0.06 0.73 2.25 0.92 -0.78 -0.10 1.68 -1.91 0.82
## 2 -0.68 -1.10 -0.74 0.14 -0.40 1.50 -0.65 1.38 -2.28 -1.27
## 3 -1.02 -0.28 -0.14 -1.37 -1.52 -0.51 -2.16 1.08 -0.49 -1.18
## 4 0.40 -0.05 -0.24 -1.68 1.98 0.38 0.64 0.67 0.27 1.34
## 5 -0.84 -0.52 1.19 -0.32 0.60 1.69 -0.85 1.48 -0.01 -0.72
2.1 Hata mesajının test edilmesi 1. durum
veri_seti_olustur(
v_say = 4,
satirsay = c(5, 10, 15, 20, 25),
sutunsay = c(10, 20, 30, 40, 50)
)
## Error in veri_seti_olustur(v_say = 4, satirsay = c(5, 10, 15, 20, 25), : Veri setlerinin sayısı, satır adedi ve sütun adedi birbirine eşit olmalıdır. Girdiğiniz argümanları tekrar kontrol edin.
2.2 Hata mesajının test edilmesi 2. durum
veri_seti_olustur(
v_say = 5,
satirsay = c(5, 10, 15, 20),
sutunsay = c(10, 20, 30, 40, 50)
)
## Error in veri_seti_olustur(v_say = 5, satirsay = c(5, 10, 15, 20), sutunsay = c(10, : Veri setlerinin sayısı, satır adedi ve sütun adedi birbirine eşit olmalıdır. Girdiğiniz argümanları tekrar kontrol edin.
2.3. Hata mesajının test edilmesi 3. durum
veri_seti_olustur(
v_say = 5,
satirsay = c(5, 10, 15, 20, 25),
sutunsay = c(10, 20, 30, 40)
)
## Error in veri_seti_olustur(v_say = 5, satirsay = c(5, 10, 15, 20, 25), : Veri setlerinin sayısı, satır adedi ve sütun adedi birbirine eşit olmalıdır. Girdiğiniz argümanları tekrar kontrol edin.
3. Fibonacci serisi
options(scipen = 999) #bilimsel gösterimi kapatma
fibonacci <- rep(1, 2)
for (v in 3:100) {
fibonacci[v] <- fibonacci[v - 1] + fibonacci[v - 2]
}
fibonacci
## [1] 1 1 2
## [4] 3 5 8
## [7] 13 21 34
## [10] 55 89 144
## [13] 233 377 610
## [16] 987 1597 2584
## [19] 4181 6765 10946
## [22] 17711 28657 46368
## [25] 75025 121393 196418
## [28] 317811 514229 832040
## [31] 1346269 2178309 3524578
## [34] 5702887 9227465 14930352
## [37] 24157817 39088169 63245986
## [40] 102334155 165580141 267914296
## [43] 433494437 701408733 1134903170
## [46] 1836311903 2971215073 4807526976
## [49] 7778742049 12586269025 20365011074
## [52] 32951280099 53316291173 86267571272
## [55] 139583862445 225851433717 365435296162
## [58] 591286729879 956722026041 1548008755920
## [61] 2504730781961 4052739537881 6557470319842
## [64] 10610209857723 17167680177565 27777890035288
## [67] 44945570212853 72723460248141 117669030460994
## [70] 190392490709135 308061521170129 498454011879264
## [73] 806515533049393 1304969544928657 2111485077978050
## [76] 3416454622906707 5527939700884757 8944394323791464
## [79] 14472334024676220 23416728348467684 37889062373143904
## [82] 61305790721611584 99194853094755488 160500643816367072
## [85] 259695496911122560 420196140727489664 679891637638612224
## [88] 1100087778366101888 1779979416004713984 2880067194370816000
## [91] 4660046610375530496 7540113804746346496 12200160415121876992
## [94] 19740274219868225536 31940434634990100480 51680708854858326016
## [97] 83621143489848426496 135301852344706760704 218922995834555203584
## [100] 354224848179261997066
4. Örnek veri setinde i. satırda negatif sayı yok ise çıktıda i. satirin ortalaması….dir yazsin. Eğer veri setinde herhangi bir satırda negatif sayı var ise satir i negatif sayı bulunmaktadir. Veri setindeki satırlardaki toplam negatif sayı toplamı üçü geçerse çıktıda cok sayida negatif sayi yazsın ve döngü çalışmayı durdursun.
# Örnek veri setinin oluşturulması
set.seed(1786)
ornek <- exp(matrix(rnorm(2000), nrow = 100))
index1.temp <- sample(1:100, 10)
index2.temp <- sample(1:20, 10)
for (i in 1:10) {
ornek[index1.temp[i], index2.temp[i]] <- -1
}
for (i in 1:nrow(ornek))
{
ifelse(ornek[i,] > 0,
print(paste(
i, ". satırın ortalaması ", mean(ornek[i,]), "dir."
)),
ifelse(ornek[i,] < 0, print(
paste(i, ". satırda negatif sayı bulunmaktadır.")
),
ifelse(apply(ornek, 1, function(row) any(row < 0))> 3, print(
paste("Çok sayıda negatif sayı bulunmaktadır.")
), no = F)))
}
## [1] "1 . satırın ortalaması 1.81024640410365 dir."
## [1] "2 . satırın ortalaması 1.38518610357355 dir."
## [1] "3 . satırın ortalaması 1.91306477718819 dir."
## [1] "4 . satırın ortalaması 1.4112379414075 dir."
## [1] "5 . satırın ortalaması 1.4449874985066 dir."
## [1] "6 . satırın ortalaması 1.45095623366252 dir."
## [1] "7 . satırın ortalaması 1.28395242730511 dir."
## [1] "8 . satırın ortalaması 1.09256285552594 dir."
## [1] "9 . satırın ortalaması 1.42368154628106 dir."
## [1] "10 . satırın ortalaması 1.87463142687726 dir."
## [1] "10 . satırda negatif sayı bulunmaktadır."
## [1] "11 . satırın ortalaması 1.63867357063309 dir."
## [1] "12 . satırın ortalaması 1.34365172029771 dir."
## [1] "12 . satırda negatif sayı bulunmaktadır."
## [1] "13 . satırın ortalaması 1.47012239341985 dir."
## [1] "14 . satırın ortalaması 1.68760963291761 dir."
## [1] "15 . satırın ortalaması 1.51554665095691 dir."
## [1] "16 . satırın ortalaması 1.99518274468864 dir."
## [1] "17 . satırın ortalaması 1.47942292790106 dir."
## [1] "18 . satırın ortalaması 1.4444947260594 dir."
## [1] "19 . satırın ortalaması 1.54378752827146 dir."
## [1] "20 . satırın ortalaması 2.17983862702061 dir."
## [1] "21 . satırın ortalaması 1.48707990280766 dir."
## [1] "22 . satırın ortalaması 2.10918427665028 dir."
## [1] "23 . satırın ortalaması 2.53701879215026 dir."
## [1] "24 . satırın ortalaması 2.18838278266378 dir."
## [1] "24 . satırda negatif sayı bulunmaktadır."
## [1] "25 . satırın ortalaması 1.44711057713537 dir."
## [1] "25 . satırda negatif sayı bulunmaktadır."
## [1] "26 . satırın ortalaması 0.981573869823853 dir."
## [1] "27 . satırın ortalaması 2.10120070726688 dir."
## [1] "28 . satırın ortalaması 1.58708489312329 dir."
## [1] "29 . satırın ortalaması 2.07934105483056 dir."
## [1] "30 . satırın ortalaması 1.62838414992845 dir."
## [1] "31 . satırın ortalaması 1.06213338682266 dir."
## [1] "32 . satırın ortalaması 1.30176914432271 dir."
## [1] "33 . satırın ortalaması 1.22716566563699 dir."
## [1] "34 . satırın ortalaması 1.68089750840266 dir."
## [1] "35 . satırın ortalaması 2.04330971448464 dir."
## [1] "36 . satırın ortalaması 1.62042716634191 dir."
## [1] "37 . satırın ortalaması 1.49511549814556 dir."
## [1] "38 . satırın ortalaması 1.42134300969693 dir."
## [1] "38 . satırda negatif sayı bulunmaktadır."
## [1] "39 . satırın ortalaması 1.64957267061729 dir."
## [1] "40 . satırın ortalaması 1.62455677269478 dir."
## [1] "40 . satırda negatif sayı bulunmaktadır."
## [1] "41 . satırın ortalaması 1.61087414481598 dir."
## [1] "42 . satırın ortalaması 2.51292782080857 dir."
## [1] "43 . satırın ortalaması 1.29253831341951 dir."
## [1] "44 . satırın ortalaması 0.995338317972212 dir."
## [1] "45 . satırın ortalaması 1.06319606969695 dir."
## [1] "46 . satırın ortalaması 2.08723014108201 dir."
## [1] "47 . satırın ortalaması 1.63838098483115 dir."
## [1] "48 . satırın ortalaması 1.58748051253287 dir."
## [1] "49 . satırın ortalaması 1.36039204193038 dir."
## [1] "50 . satırın ortalaması 2.5030812334855 dir."
## [1] "51 . satırın ortalaması 1.72406515135536 dir."
## [1] "51 . satırda negatif sayı bulunmaktadır."
## [1] "52 . satırın ortalaması 1.1701846988099 dir."
## [1] "53 . satırın ortalaması 1.39932665703517 dir."
## [1] "54 . satırın ortalaması 0.851813922412085 dir."
## [1] "55 . satırın ortalaması 1.38874171912631 dir."
## [1] "56 . satırın ortalaması 1.28819137534643 dir."
## [1] "57 . satırın ortalaması 2.40583121888184 dir."
## [1] "58 . satırın ortalaması 0.954909626512 dir."
## [1] "59 . satırın ortalaması 1.37212622963709 dir."
## [1] "60 . satırın ortalaması 1.38257148153171 dir."
## [1] "61 . satırın ortalaması 1.13360242378072 dir."
## [1] "62 . satırın ortalaması 0.710679121145175 dir."
## [1] "63 . satırın ortalaması 1.01854602443719 dir."
## [1] "64 . satırın ortalaması 1.03714525502581 dir."
## [1] "64 . satırda negatif sayı bulunmaktadır."
## [1] "65 . satırın ortalaması 1.15965812704672 dir."
## [1] "66 . satırın ortalaması 0.842555588739729 dir."
## [1] "67 . satırın ortalaması 1.35084607269106 dir."
## [1] "68 . satırın ortalaması 1.14463972482843 dir."
## [1] "69 . satırın ortalaması 1.31510707964177 dir."
## [1] "70 . satırın ortalaması 1.60246658326134 dir."
## [1] "71 . satırın ortalaması 1.91370003124893 dir."
## [1] "72 . satırın ortalaması 2.17726089691906 dir."
## [1] "73 . satırın ortalaması 1.1509167872398 dir."
## [1] "74 . satırın ortalaması 3.37881346599407 dir."
## [1] "75 . satırın ortalaması 1.4458712001827 dir."
## [1] "76 . satırın ortalaması 1.65784983950186 dir."
## [1] "77 . satırın ortalaması 1.11154005692112 dir."
## [1] "78 . satırın ortalaması 1.66369767927207 dir."
## [1] "79 . satırın ortalaması 1.3726424347633 dir."
## [1] "80 . satırın ortalaması 1.45540060332781 dir."
## [1] "81 . satırın ortalaması 1.1547741826877 dir."
## [1] "82 . satırın ortalaması 3.34868667286079 dir."
## [1] "83 . satırın ortalaması 2.63518520261191 dir."
## [1] "84 . satırın ortalaması 1.35479992704511 dir."
## [1] "85 . satırın ortalaması 1.95680972834867 dir."
## [1] "86 . satırın ortalaması 2.06874099591242 dir."
## [1] "86 . satırda negatif sayı bulunmaktadır."
## [1] "87 . satırın ortalaması 1.45020821996795 dir."
## [1] "88 . satırın ortalaması 1.15091491124661 dir."
## [1] "89 . satırın ortalaması 1.25524639987064 dir."
## [1] "90 . satırın ortalaması 0.763787021104584 dir."
## [1] "91 . satırın ortalaması 1.29539957747794 dir."
## [1] "92 . satırın ortalaması 0.896540708641842 dir."
## [1] "92 . satırda negatif sayı bulunmaktadır."
## [1] "93 . satırın ortalaması 1.23735048852641 dir."
## [1] "94 . satırın ortalaması 2.15189363654345 dir."
## [1] "95 . satırın ortalaması 1.4852096703456 dir."
## [1] "96 . satırın ortalaması 1.56903650889034 dir."
## [1] "97 . satırın ortalaması 1.74906359142209 dir."
## [1] "98 . satırın ortalaması 2.91382990626373 dir."
## [1] "99 . satırın ortalaması 1.32444388929016 dir."
## [1] "100 . satırın ortalaması 1.72039519136943 dir."
# next ve break ekleyince çalıştırılamadı.
5. Çeşitli Şekiller
for(i in c(1:5))
cat(paste0(strrep(" ", 5 - i), strrep("* ", i), "\n")
)
## *
## * *
## * * *
## * * * *
## * * * * *
for(i in c(1:5, 4:1))
cat(paste0(strrep(" ", 5 - i), strrep("* ", i), "\n")
)
## *
## * *
## * * *
## * * * *
## * * * * *
## * * * *
## * * *
## * *
## *
for(i in rep(5, 5))
cat(paste0(strrep(" ", 5 - i), strrep("* ", i), "\n")
)
## * * * * *
## * * * * *
## * * * * *
## * * * * *
## * * * * *
for(i in rep(7, 7))
cat(paste0(strrep(" ", 7 - i), strrep("* ", i), "\n")
)
## * * * * * * *
## * * * * * * *
## * * * * * * *
## * * * * * * *
## * * * * * * *
## * * * * * * *
## * * * * * * *
for(i in rep(10, 4))
cat(paste0(strrep(" ", 10 - i), strrep("* ", i), "\n")
)
## * * * * * * * * * *
## * * * * * * * * * *
## * * * * * * * * * *
## * * * * * * * * * *
for(i in c(1:6, 4:9, 7:12, 10:15, rep(3, 5)))
cat(paste0(strrep(" ", 15 - i), strrep("* ", i), "\n"))
## *
## * *
## * * *
## * * * *
## * * * * *
## * * * * * *
## * * * *
## * * * * *
## * * * * * *
## * * * * * * *
## * * * * * * * *
## * * * * * * * * *
## * * * * * * *
## * * * * * * * *
## * * * * * * * * *
## * * * * * * * * * *
## * * * * * * * * * * *
## * * * * * * * * * * * *
## * * * * * * * * * *
## * * * * * * * * * * *
## * * * * * * * * * * * *
## * * * * * * * * * * * * *
## * * * * * * * * * * * * * *
## * * * * * * * * * * * * * * *
## * * *
## * * *
## * * *
## * * *
## * * *
print("***Herkese Mutlu Yıllar***")
## [1] "***Herkese Mutlu Yıllar***"