r programı Üzerinden bir uygulama

23
R İle İstatistiksel Programlama Final Soruları 1. https://delicious.com/e.a/data’ da bulunan linklerden ya da istediğiniz bir yerden bir veri seti seçiniz. Eğer internet sitesinden direk aldıysanız ya da farklı sitelerden birleştirerek oluşturduysaniz linkleri yazınız. Hazır bir veri seti kullanıysanız nereden bulduğunuzu yazınız. Veri seti seçerken gözlem sayısının 1000 den fazla, değişken sayısının da 7den fazla olmasına dikkat ediniz. Link: http://www.umass.edu/statdata/statdata/stat-logistic.html 2. Veri setinizi excel, csv ya da text dosyası olarak odev emaili ile birlikte gonderin. Seçtiğiniz veri setini R a aktarın ve ismini veri yapın. R Kodu: veri <- read.csv("veri.csv",header=TRUE,sep=";") 3. Veri setini önce kısaca sözel olarak tanıtınız.Ne hakkında, nasıl toplanmış, değişkenler nelerdir gibi. Daha sonra veri seti üzerinde tanımsal istatistikleri R ile gerçekletiriniz. Sizce veri seçtiğiniz veri setini tanımak için neler yapmanız gerekiyorsa onları uygulayın. (grafikler hariç) Tanım: Verimiz çocuklar üzerinde yapılan bir miyopluk araştırmasıdır, miyopluk var mı, yok mu diye araştırılmıştır. Mercek kalınlığı, eksen uzunlukları vs. gibi özelliklerin miyopluğa göre farklılık gösterip göstermediği incelenmiştir, bir de çocukların yaptıkları aktivitelerin miyopluklarında ne derece önemli olduğu araştırılmıştır. X1-Miyopluk X2-Odaklama X3-Eksen X4-Ön Oda X5-Mercek X6-Viterus Boşluğu X7-Aktivite X8-Kitap X9-Oyun X10-Ders X11-TV X12-Diğer R kodu: > class(veri) Verinin yapısına bakılır. >veri1 <- as.matrix(veri) Matrise atama kodu. >names(veri) Verideki değişkenlerin isimleri.

Upload: mimarsinan

Post on 22-Apr-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

R İle İstatistiksel Programlama Final Soruları

1. https://delicious.com/e.a/data’ da bulunan linklerden ya da istediğiniz bir yerden bir

veri seti seçiniz. Eğer internet sitesinden direk aldıysanız ya da farklı sitelerden

birleştirerek oluşturduysaniz linkleri yazınız. Hazır bir veri seti kullanıysanız

nereden bulduğunuzu yazınız. Veri seti seçerken gözlem sayısının 1000 den fazla,

değişken sayısının da 7den fazla olmasına dikkat ediniz.

Link: http://www.umass.edu/statdata/statdata/stat-logistic.html 2. Veri setinizi excel, csv ya da text dosyası olarak odev emaili ile birlikte gonderin.

Seçtiğiniz veri setini R a aktarın ve ismini veri yapın.

R Kodu: veri <- read.csv("veri.csv",header=TRUE,sep=";")

3. Veri setini önce kısaca sözel olarak tanıtınız.Ne hakkında, nasıl toplanmış,

değişkenler nelerdir gibi. Daha sonra veri seti üzerinde tanımsal istatistikleri R ile

gerçekletiriniz. Sizce veri seçtiğiniz veri setini tanımak için neler yapmanız

gerekiyorsa onları uygulayın. (grafikler hariç)

Tanım: Verimiz çocuklar üzerinde yapılan bir miyopluk araştırmasıdır, miyopluk var mı, yok mu diye araştırılmıştır. Mercek kalınlığı, eksen uzunlukları vs. gibi özelliklerin miyopluğa göre farklılık gösterip göstermediği incelenmiştir, bir de çocukların yaptıkları aktivitelerin miyopluklarında ne derece önemli olduğu araştırılmıştır.

X1-Miyopluk X2-Odaklama X3-Eksen X4-Ön Oda X5-Mercek X6-Viterus Boşluğu X7-Aktivite X8-Kitap X9-Oyun X10-Ders X11-TV X12-Diğer

R kodu: > class(veri) Verinin yapısına bakılır. >veri1 <- as.matrix(veri) Matrise atama kodu. >names(veri) Verideki değişkenlerin isimleri.

> length(veri) Verinin uzunluğu. > sum(veri) Toplam. > mean(veri1) Genel Ortalama. > mean (veri$x1,x2..) Tek tek sütunların ortalaması. > median(veri1) Medyan. > min(veri1) Minimum. > max(veri1) Maximum. > quantile(veri1) Yüzdelik. >sd(veri1) Genel Standart sapma. > sd(veri$x1,x2..) Tek tek sütunların standart sapması. > var(veri1) Varyans. > summary(veri1) Veri hakkında özet bilgi. >cor(veri1) Korelasyon. Ekran Görüntüsü:

4. Farklı değişkenlerde histogram, cubuk ve pasta grafik ile sacılım diyagramı

olusturun. Grafikler üzerinde baslık, eksen isimlendirme, renklendirme, kulllanılan

semboller gibi özellikleri olabildiğince argümanları kullanarak gerçekleştirin

R Kodu: >M<- table(veri$miyopluk) > lbls <- paste(names(M), "\n", M, sep="") > pie(M, labels=lbls,main="Pasta Grafiği\n (with sample sizes)")

Ekran Görüntüsü: (Pasta Grafiği)

R Kodu: > Y<- table(veri$x1, veri$x2) > barplot(Y,main="veri by x1 and x2", xlab="Number of x2",col=c("darkblue","red"),legend=rownames(Y)) Ekran Görüntüsü: (Çubuk Grafiği)

R Kodu: > x <- veri$x2 > h<-hist(x, breaks=10, col="red", xlab="L",main="Histogram ve normal dağılım") > xfit<-seq(min(x),max(x),length=40) > yfit<-dnorm(xfit,mean=mean(x),sd=sd(x))

0

537

1

81

Pasta Grafiği

(with sample sizes)

-0.7 0 0.25 0.56 0.86 1009 1168 1368 1799

1

0

veri by x1 and x2

Number of x2

02

46

81

0

> yfit <- yfit*diff(h$mids[1:2])*length(x) > lines(xfit, yfit, col="blue", lwd=2) Ekran Görüntüsü: (Histogram ve Normallik)

Recommender Yardımıyla; >instal.packages(“Rcmdr) >library(Rcmdr) R Kodu: > with(veri, indexplot(x2, type='h', id.method='y', id.n=2, labels=rownames(veri)))

Histogram ve normal dağılım

L

Fre

qu

en

cy

0 1000 2000 3000 4000

01

00

20

03

00

40

0

Ekran Görüntüsü:

R Kodu: >with(veri, Hist(x1, scale="frequency", breaks="Sturges", col="darkgray")) Ekran Görüntüsü:

R Kodu: >with(veri, lineplot(x2, x3)) Ekran Görüntüsü:

R Kodu: > xyplot(x1 + x5 ~ x3 + x4, type="p", pch=16, auto.key=list(border=TRUE), par.settings=simpleTheme(pch=16), scales=list(x=list(relation='same'), y=list(relation='same')), data=veri)

0 100 200 300 400 500 600

01

00

02

00

03

00

04

00

0

Observation Index

x2

609530

x3

fre

qu

en

cy

20 21 22 23 24 25

05

01

00

15

0

0 1000 2000 3000 4000

20

21

22

23

24

x2

x3

Ekran Görüntüsü:

R Kodu: > Boxplot( ~ x4, data=veri, id.method="y") Ekran Görüntüsü:

5. Oluşturduğunuz 4 farklı grafiği tek bir grafik gibi (bir ekran görüntüsünde 4 grafik

olacak) görselleştirin.

R kodu: > scatterplot(x5~x6, reg.line=lm, smooth=TRUE, spread=TRUE, id.method='mahal',id.n = 2, boxplots='xy', span=0.5, data=veri)

x3 + x4

x1 +

x5

0

1000

2000

3000

4000

0 1000 2000 3000 4000

x1 * x3x1 * x4x5 * x3x5 * x4

01

00

02

00

03

00

04

00

0

x4

248963515946220736941553485

Ekran Görüntüsü:

R kodu: > scatterplotMatrix(~x2+x3+x4, reg.line=lm, smooth=TRUE, spread=FALSE, span=0.5, id.n=0, diagonal = 'density', data=veri)

Ekran Görüntüsü:

6. Bir regresyon modeli uygulayın. Regresyon modelini oluştururken yapmaniz

gerekenleri gerçeklestirin

R kodu > lm1 <- lm(x1 ~ x2+x3+x4+x5+x6, data=veri) > lm1 >summary(lm1) > lm2 <- lm(x1 ~ x7+x8+x9+x10+x11+x12, data=veri) > lm2 >summary(lm2)

14 15 16 17

01000

2000

3000

4000

x6

x5

175

243

x2

20 21 22 23 24

010

0020

0030

0040

00

2021

2223

24 x3

0 1000 2000 3000 4000 0 1000 2000 3000 4000

010

0020

0030

0040

00

x4

Ekran Görüntüsü

Bağımlı değişken olarak x1 alınırsa (miyop olup olmama durumu);

𝑋 = −1.396e − 01 − 8.900e − 05 𝑋2 + 7.992e − 02𝑋3 − 3.081e − 05 𝑋3 − 6.021e − 06𝑋4

− 9.036e − 02𝑋5 > plot(lm1$residuals,lm1$fitted.values)

Regresyon modelinin özeti;

-0.2 0.0 0.2 0.4 0.6 0.8

-0.2

-0.1

0.0

0.1

0.2

0.3

lm1$residuals

lm1

$fitte

d.v

alu

es

Bağımlı değişken olarak x1 alınırsa (miyop olup olmama durumu);

𝑋 = 0.1533358 − 0.0045839 𝑋7 + 0.0108775𝑋8 + 0.0030270 𝑋9 − 0.0074583𝑋10

+ 0.0007657𝑋11 > plot(lm2$residuals,lm2$fitted.values)

Regresyon modelinin özeti;

-0.2 0.0 0.2 0.4 0.6 0.8 1.0

-0.0

50

.00

0.0

50

.10

0.1

50

.20

0.2

50

.30

lm2$residuals

lm2

$fitte

d.v

alu

es

7. dplyr paketini kullanarak veri setiniz için aşağıdaki işlemleri gerçekleştirin ( _____

kısımlarında veri setinizden uygun olan herhangi bir değişkeni/sayıyı seçerek

işlemleri gerçekleştirin. ben burada örnek olarak x1 diyorum. Altı çizili olan her şeyi

değiştirin)

> install.packages("dplyr")

> library(dplyr)

a) veri ‘yi x1 değişkenini değerleri 34’den fazla olacak şekilde filtreleyin

R kodu

> filter(veri,x2 >34)

Ekran goruntusu

b) veri ‘den iadeli olarak 50 rassal örnek çekiniz. (50 gözlem bütün değişkenler)

R kodu: > sample_n(veri, 50)

Ekran Görüntüsü:

c) veri’de değişkeni isimlerinde . (nokta) barındıran değişkenleri seçerek veri2

isimli yeni bir nesne oluşturun. (burada veri setinize gore noktayı altcizgi ya da

herhangi bir harf ile değiştirebilirsiniz)

Değişkenlerimizin orajinal isimleri;

>names(veri)

“_” içerenleri seçerek yeni veri setine atalım;

R kodu: > veri2<-select(veri, contains("_")) > veri2 Ekran Görüntüsü: