Menu
Coddy logo textTech

Dizi Oluşturma (seq, :)

Coddy'nin R Journey'sinin Temeller bölümünün bir parçası — ders 43 / 78.

Döngülerinizde diziler oluşturmak için 1:5 kullanıyordunuz. Bu iki nokta üst üste operatörü hızlı ve basittir, ancak R, dizileriniz üzerinde daha fazla kontrol sağlamak için seq() fonksiyonunu da sunar.

İki nokta üst üste operatörü, ardışık tam sayılardan oluşan bir dizi oluşturur:

print(1:5)
print(10:6)

Çıktı:

[1] 1 2 3 4 5
[1] 10 9 8 7 6

Dizinin her iki yöne de gidebileceğine dikkat edin. İlk sayı daha büyük olduğunda, geriye doğru sayar.

seq() fonksiyonu size daha fazla esneklik sağlar. by argümanını kullanarak bir adım boyutu belirtebilirsiniz:

print(seq(2, 10, by = 2))

Çıktı:

[1] 2 4 6 8 10

Bu, 2'den 10'a kadar olan çift sayıları oluşturur.

Ayrıca length.out kullanarak kaç tane sayı istediğinizi belirtebilirsiniz:

print(seq(1, 10, length.out = 4))

Çıktı:

[1] 1 4 7 10

R, size tam olarak 4 eşit aralıklı sayı vermek için aralığı otomatik olarak hesaplar. Her iki yaklaşım da döngülerde sorunsuz çalışarak özel diziler arasında kolayca yineleme yapmanıza olanak tanır.

challenge icon

Görev

Kolay

Girdiden üç sayı okuyun: start, end ve step.

Belirtilen step boyutuyla start değerinden end değerine kadar bir dizi oluşturmak için seq() fonksiyonunu kullanın. Ardından, bu dizi üzerinde döngü kurmak için bir for döngüsü kullanın ve her sayının karesini yazdırın.

Her kare değer, print() kullanılarak kendi satırında yazdırılmalıdır.

Örneğin, girdiler 2, 10 ve 2 ise çıktı şu şekilde olmalıdır:

[1] 4
[1] 16
[1] 36
[1] 64
[1] 100

Bunun nedeni 2, 4, 6, 8, 10 dizisinin oluşturulması ve her sayının karesinin alınmasıdır.

Kopya kağıdı

İki nokta üst üste operatörü : ardışık tam sayılardan oluşan diziler oluşturur:

1:5  # 1 2 3 4 5 oluşturur
10:6  # 10 9 8 7 6 oluşturur (geriye doğru sayar)

seq() fonksiyonu diziler üzerinde daha fazla kontrol sağlar:

# 'by' ile adım boyutunu belirtin
seq(2, 10, by = 2)  # 2 4 6 8 10 oluşturur

# 'length.out' ile değer sayısını belirtin
seq(1, 10, length.out = 4)  # 1 4 7 10 oluşturur

Hem iki nokta üst üste operatörü hem de seq() for döngülerinde çalışır:

for (i in seq(2, 10, by = 2)) {
  print(i)
}

Kendin dene

# Girdiyi oku
con <- file("stdin", "r")
start <- as.numeric(suppressWarnings(readLines(con, n = 1)))
end <- as.numeric(suppressWarnings(readLines(con, n = 1)))
step <- as.numeric(suppressWarnings(readLines(con, n = 1)))

# YAPILACAK: Kodunuzu aşağıya yazın
# 1. Belirtilen adımla başlangıçtan bitişe bir dizi oluşturmak için seq() kullanın
# 2. Dizide döngü oluşturmak için bir for döngüsü kullanın
# 3. print() kullanarak her sayının karesini yazdırın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler