---
title: "Vektörler, matrisler, veri çerçeveleri"
author: ""
date: ""
output: html_document
---

Aşağıdaki tabloda  Dr. Kristen Gorman ve Antartika'da bulunan Palmer istasyonu çalışanları tarafından elde edilmiş bir veri seti bulunmaktadır. Bu veri setinde, Antarktika'ya özgü üç farklı penguen türüne (*Chinstrap*, *Adelie*, *Gentoo*) ait gaga uzunluğu, kanat uzunluğu, ve cinsiyet bilgileri toplanmıştır.

|   Tür      | Gaga Uzunluğu (mm)  |  Kanat Uzunluğu (mm)   |   Cinsiyet  |
|------------|---------------------|------------------------|-------------|
| Chinstrap  |        49           |        212             |     erkek   |
| Adelie     |        35.3         |        187             |     dişi    |  
| Adelie     |        40.6         |        183             |     erkek   |  
| Chinstrap  |        52           |        201             |     erkek   |  
| Adelie     |        39           |        191             |     dişi    |
| Chinstrap  |        51.7         |        194             |     erkek   |  
| Adelie     |        38.9         |        190             |     dişi    |
| Gentoo     |        50.5         |        216             |     dişi    |
| Gentoo     |        47.8         |        215             |     erkek   |   
| Gentoo     |        41.7         |        210             |     dişi    |

Bu tabloya göre aşağıdaki soruları cevaplayınız. 

## Vektörler

Bu tablodaki bilgileri kullanarak aşağıda verilen isimlerde dört farklı vektör oluşturunuz. Cinsiyet vektörü faktör vektörü olmalıdır.

+ `tur`
+ `gaga_uzunlugu`
+ `kanat_uzunlugu`
+ `cinsiyet`

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
tur <- c("chinstrap", "adelie","adelie", "chinstrap", "adelie", "chinstrap", "adelie", "gentoo", "gentoo", "gentoo")
gaga_uzunlugu <- c(49, 35.3, 40.6, 52, 39, 51.7, 38.9, 50.5, 47.8, 41.7)
kanat_uzunlugu <- c(212, 187, 183, 201, 191, 194, 190, 216, 215, 210)
cinsiyet <- c("erkek", "disi", "erkek", "erkek", "disi", "erkek", "disi", "disi", "erkek", "disi")
```

Tür vektöründeki 5. elemanı geri döndüren kodu yazınız:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
tur[5]
```

Gaga uzunluğu vektörünü kullanarak, gaga uzunluğu 50 mm'den büyük olan değerleri geri döndüren kodu yazınız:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
gaga_uzunlugu[gaga_uzunlugu > 50]
```

Kanat uzunluğu vektörünü kullanarak, kanat uzunlukları 192 mm'de büyük olan değerleri geri döndüren kodu yazınız:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
kanat_uzunlugu[kanat_uzunlugu > 192]
```

Kanat uzunluğu vektörünü kullanarak, kanat uzunlukları 192 mm'de büyük olan türleri geri döndüren kodu yazınız. Dikkat edin, bu sefer tür ismi geri döndürmeniz gerekiyor:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
tur[kanat_uzunlugu > 192]
```


## Matrisler

Kanat uzunluğu vektörünü kullanarak, 5 satır ve 2 sütundan oluşan bir matris elde ediniz. Oluşturacağınız matrisin ismi `ornek_matris` olsun:

Kanat uzunluğu vektörünü kullanarak, kanat uzunlukları 192 mm'de büyük olan değerleri geri döndüren kodu yazınız:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
ornek_matris <- matrix(kanat_uzunlugu, nrow=5, ncol=2)
ornek_matris[ornek_matris > 192]
```

Oluşturduğunuz matrisin sütun ve satır isimlerini aşağıdaki gibi değiştiriniz.

Sütun isimleri:

+ A
+ B

Satır isimleri:

+ X
+ Y
+ Z
+ T
+ U

```{r}
rownames(ornek_matris) <- c("X", "Y", "Z", "T", "U")
colnames(ornek_matris) <- c("A", "B")
ornek_matris
```

## Veri çerçeveleri

Dökümanın başında verilen tabloyu kullanarak bir veri çerçevesi elde ediniz. Elde ettiğiniz veri çerçevesinin ismi `penguenler` olsun. Veri çerçevesinin sütun isimleri ise aşağıdaki gibi olsun:

+ `tur`
+ `gaga_uzunlugu`
+ `kanat_uzunlugu`
+ `cinsiyet`

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
penguenler <- data.frame(tur = c("chinstrap", "adelie","adelie", "chinstrap", "adelie", "chinstrap", "adelie", "gentoo", "gentoo", "gentoo"),
                         gaga_uzunlugu = c(49, 35.3, 40.6, 52, 39, 51.7, 38.9, 50.5, 47.8, 41.7),
                         kanat_uzunlugu = c(212, 187, 183, 201, 191, 194, 190, 216, 215, 210),
                         cinsiyet = c("erkek", "disi", "erkek", "erkek", "disi", "erkek", "disi", "disi", "erkek", "disi"))
```

Oluştrduğunuz veri çerçevesinin satır ve sütun sayılarını geri döndüren kodu yazınız:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
dim(penguenler)
```

Sadece beşinci satırı geri döndüren kodu yazınız:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
penguenler[5,]
```

Sadece ikinci sütunu geri döndüren kodu yazınız:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
penguenler[,2]
```

Sadece tür değerlerini içeren sütunu geri döndüren kodu yazınız:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
penguenler$tur
```

Bu veri çerçevesinde, 2 ile 4. satırlar arasındaki bütün satırları geri döndüren kodu yazınz:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
penguenler[2:4,]
```

Bu veri çerçevesinde gaga uzunluğu 50'den büyük olan satırları geri döndürünüz:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
penguenler[penguenler$gaga_uzunlugu > 50, ]
```

Bu veri çerçevesinde kanat uzunluğu 150'den büyük olan satırları geri döndürünüz:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
penguenler[penguenler$kanat_uzunlugu > 150, ]
```

## Veri okuma

[Şu bağlantıda](https://raw.githubusercontent.com/emrahkirdok/ybva/main/data/sinav.csv) verilen dosyayı, derslerde gördüğümüz tekniklerden bir tanesini kullanarak okuyunuz (bilgisyara kaydediniz veya doğrudan internet üzerinden okuyunuz).

Dosyayı okurken aşağıdaki noktalara dikkat ediniz:

+ Ayraç karakteri olarak `;` kullanılmıştır
+ İlk satır, sütun isimleri olarak tanımlanmıştır

Okuduğunuz verinin ismi `sinav` olsun:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
sinav <- read.table(file = "sinav.csv", header = T, sep = ";")
```

Okuduğunuz veri çerçevesinin boyutlarını geri döndüren kodu yazınız:

```{r}
# kodlarınızı asagiya yazınız (# isaretini kullanmadan)
dim(sinav)
```

