class: center, middle, inverse, title-slide # Veri Yazma ### Dr. Atalay Kabasakal ### Kasim, 2021 --- ## Veri Yazma ```r ad <- c("Ali","Elif","Su","Deniz","Aras","Berk","Can","Ece","Efe","Arda") boy <- c(160,165,170,155,167,162,169,158,160,164) kilo <- c(50,55,57,50,48,65,58,62,45,47) beden <- c("S","M","S","M","S","L","M","L","S","S") df <- data.frame(ad, boy, kilo, beden) df ``` ``` ## ad boy kilo beden ## 1 Ali 160 50 S ## 2 Elif 165 55 M ## 3 Su 170 57 S ## 4 Deniz 155 50 M ## 5 Aras 167 48 S ## 6 Berk 162 65 L ## 7 Can 169 58 M ## 8 Ece 158 62 L ## 9 Efe 160 45 S ## 10 Arda 164 47 S ``` --- ## write.table -- ```r write.table(df, file="df.txt")# df dosyasi nerede, gorunumu nasil ``` -- ```r write.table(df, file="df.txt",row.names = FALSE,col.names = FALSE) # karakter nesnler tirnak icinde ne yapmali? ``` -- ```r write.table(df, file="df.txt",row.names = FALSE,col.names = FALSE,quote=FALSE) ``` --- ## write.table yeni gozlem eklemek istiyorsaniz append argümanı kullanılabilir. ```r ek <- data.frame(ad=c("Ahmet","Ali"), boy=c(180,170), kilo=c(60,70), beden=c("S","L")) ``` -- ```r write.table(ek, "df.txt",row.names=FALSE, col.names=FALSE, quote=FALSE,append=TRUE) ``` --- ## write.csv **write.csv()** fonksiyonu kullanilarak yazilan veri dosyalari "i" ile, **write.csv2()** fonksiyonu kullanilarak yazilan veri dosyalari ise "," ile ayrilir iki fonkisyonun bir diger farki ise ondalik sayi ayiracidir. -- write.csv ile yazdirilan dosylarin excelde acilmasi --- ## cat **cat()** fonksiyonu - Dongulerde siklikla ekrana bilgi yazdirmak amaciyla kullanilir, ancak dosya yazdirmak amaciyla da kullanabilmektedir. - fonksiyonlarla yapilan hesaplama ciktisi da yazabilmektedir. - Bu nedenle bir R oturumu sırasında not alınmak istenilen bilgileri bir dosyaya yazdırmak icin kullanilabilir ```r cat("ogrencilerin boy ortalamasi ", mean(boy), "\n", "ogrencilerin kilo ortalamasi", mean(kilo), "\n", file="bilgi.txt") ``` **"\n" ne ise yaradi?** --- ## writeLines fonksiyonu ```r writeLines("ogrencilerin boy ortalamasi: 163 cm\n", "ogrencilerin kilo ortalamasi: 53.7 kg", con="bilgi2.txt") ``` --- ## sink() fonksiyonu **sink()** fonksiyonu yapilan islemlerin ciktisini R konsola degil belirtilen dosyaya yazmaktadir. Bu fonksiyon ozellikle uzun komut dosyalarinda hata ayiklamak icin ve belirli hesaplamalarin bir dokumana yazilmak istediginde bu islemleri bir nesneye atamadan yapabilmektedir. Asil amaci komutlarin calismasini hizlandirmaktadir. Calisma alanini temizleyerek aşağıdaki kod satirlarini çalıştıralım. ```r # Baglanti kurulmasi sink("sinktest.txt") # Islem yapilmasi x <- matrix(rnorm(16),4,4) y <- matrix(rnorm(16),4,4) x %*% y # sonuc konsolda gorunmez # islemin dosyaya yazdirilip kapatilmasi sink() ``` --- ## dump() fonksiyonu **dump()** fonksiyonu ile bir R oturumu sirasnda kullanmaki stenmeyen nesneler bir dosyaya yazdirabilir. - Bu sayede calisma alaninda yer kaplamazlar ve tekrar kullanilmak istenildiginde **source()** fonksiyonu ile kullanilabilirler. ```r # x ve y nesnelerinin olusturulmasi x<-matrix(rnorm(16),4,4) y<-matrix(rnorm(16),4,4) # Bu nesnelerin metin seklinde bir dosyaya yazdirilmasi dump(c("x","y"), file="dumptest.txt") ``` - calisma alaninin temizlenmeyerek, source() fonksiyonu ile dosya calistirildiginda nesneler tekrar calisma alanina gelir. -- ```r source("dumptest.txt") ``` --- --- ## dput() ve dget() fonksiyonlar? - **dput()** fonksiyonunu ile saklanan nesneler **dget()** fonksiyonu ile tekrar calisma alanina getirilebilir ve yeni bir nesneye atanabilir. -- - **dump()** fonksiyonu nesneyi ayni islemle calisma alanina getirirken, -- - **dget()** fonksiyonu ise nesnenin icerigini yazdirir -- - nesneyi calisma alanina kaydetmek icin nesneye yeni bir ad vermek gerekmektedir. -- ```r # df nesnesinin dput() fonksiyonu ile dosyaya yazdirilmasi dput(df, file="dput.txt") # calisma alaninin temizlenmesi rm(list=ls()) # Veri setinin tekrar calisma alanina getirilmesi yeni <- dget("dput.txt") yeni ``` ``` ## ad boy kilo beden ## 1 Ali 160 50 S ## 2 Elif 165 55 M ## 3 Su 170 57 S ## 4 Deniz 155 50 M ## 5 Aras 167 48 S ## 6 Berk 162 65 L ## 7 Can 169 58 M ## 8 Ece 158 62 L ## 9 Efe 160 45 S ## 10 Arda 164 47 S ``` -- --- # file() fonksiyonlari ```r deneme<-file("deneme.txt", open="w") # Dosyaya belirli satirlarin eklenmesi cat("Bu bir denemedir\n\n", file=deneme) # Dosyaya yazdirilmak istenilen nesnenin olusturulmasi matris1<-matrix(round(rnorm(12),4), ncol=3) # Nesnenin yazdirilmasi write.table(matris1, file=deneme, row.names=FALSE, col.names=FALSE) # kapatma close(deneme) # Ayni dosyaya tekrar ekleme yapilmasi matris2<-matrix(round(rnorm(12),4), ncol=3) write.table(matris2, file="deneme.txt", row.names=FALSE, col.names=FALSE, append=TRUE) ```