Single Pages

Showing posts with label R. Show all posts
Showing posts with label R. Show all posts

Thursday, 10 December 2015

Factor nitelikteki kolonları numeric nitelikli kolonlara dönüştürmek (R & RStudio)

0 Yorum
Factor nitelikteki kolonları numeric nitelikli sütun/kolonlara dönüştürmek (R & RStudio)

Çoğu zaman acelemiz vardır ve elimizdeki işleri hemen bitirmek isteriz fakat işler istediğimzi gibi gitmez. Mevcut verilerimiz sadece numeric/sayısal kolonlardan oluşmasına rağmen, basit bir şekilde okunması gereken veriler, okunmaz.

Sayısal yükseklik haritası(DEM) oluşturmak için kullanacağım bir verisetini hiç bir suretle ArcGIS, QGIS, GRASS GIS ve R programlarına okumamaktadır. Üç kolondan sonuncusunu her daim factor, olarak okur ya da hiç bir şekilde listelemez.

Elimdeki verilerinde 113000 civarı satırdan ve 3 sütundan oluşuyor. Ayrıca aralarda belirli boşluklar dikkat çekmiyor değil. Bu boşluklar için bir "for" döngüsü yazmaktansa dosyayı yüklerken kullanacağımız bir kaç komut yardımıyla bu işin üstesinden gelebiliriz.

Programlama bilginiz başlangıç seviyesinde ise bu tür sorunlardan kurtulmak için aşağıdaki yol izlenilebilir.

Bu tip problemleri çözmek için izlenmesi gereken adımlar :



dem_veriseti  <- read.csv("xyz_LatLong_pozitif.csv", header = T, stringsAsFactors = FALSE)
# verisetindeki ondalık işaret ayıracı "." (nokta) olarak olduğundan read.csv

str(dem_veriseti)  # data yapısı kontrolu
'data.frame': 113555 obs. of  3 variables:
 $ X    : num  40.5 40.5 40.5 40.5 40.5 ...
 $ Y    : num  28.7 28.7 28.7 28.7 28.7 ...
 $ Depth: chr  "67.308" "67.966" "68.065" "68.068" 

dem_veriseti$Depth <- as.numeric(dem_veriseti$Depth)

Warning message:
  NAs introduced by coercion
na.omit(dem_veriseti$Depth)   #NA degerlerini veriden cikarir

dem_veriseti$Depth <- as.numeric(dem_veriseti$Depth)  #Depth kolonunu numeric yapar
str(dem_veriseti) # data yapısı kontrolu

'data.frame': 113555 obs. of  3 variables:
 $ X    : num  40.5 40.5 40.5 40.5 40.5 ...
 $ Y    : num  28.7 28.7 28.7 28.7 28.7 ...
 $ Depth: num  67.3 68 68.1 68.1 68.2 ...

write.csv(dem_veriseti, file = "dem_latlong.csv")    #Yeni formatın çıktısı         


Not : Elimdeki 113000 satır veri grubunun arasında boş satırlar olduğundan böyle bir yöntem uyguladım. Daha kolay ya da farklı yollar olduğuna şüphem yok.

Sefa Şahin

Comments

Friday, 6 November 2015

Grafik Çizme Yöntemi ve Komutları (R&RStudio)

1 Yorum
R ve RStudio aracılığıyla Basit Grafik Çizme Yöntemi ve Değişkenleri



R programlama dilindeki grafik çizme değişkenlerini, açıklamaları rastgele sırayla aşağıda bulunmaktadır.



par(mfrow = c(1,1)) # Tek Sayfaya Çoklu Grafik Çizme Özelliği Sağlar - c(satır, sütun) - c(2,1) 2 Satır Tek Sütun Şeklinde Gösterme
par(mar = c(5, 7, 4, 7)) # Grafik Kutusunun Ebatlarını Berlirler - c(bottom, left, top, right) -  default - par(mar = c(5, 4, 4, 2))
par(fg = "black")    #Grafik Kutusunun Eksen Kenarlarının Rengini Belirler (Box Type Color)
par(bg = "white")  #Grafik Arka planının Rengini Belirler

plot(cosmo,  
     main = "Grafik \n Ana Başlığı ",    # Grafik Ana Başlığı
     sub = "Grafik Alt Başlığı",             # Grafik Alt Başlığı
     type = "l",                                     # Grafik Türü (p,l,b,c,o,h,s,S,n)
     col = "blue",                                 # Çizgi ya da Nokta Grafiğin Rengini Değiştirme
     bty = "o",                                      # Grafik Kutusunun Türü ("l", "7", "c", "u", or "]")
     #pch = 16,                                    # Grafik Noktalarının Sembollerini Değiştirme  - help(points)
     cex = 2,                                        # Grafik Noktalarının Sembollerini Boyutunu Değiştirme
     cex.main = 1.4,                            # Grafik Ana Başlığı Boyutunu Değiştirme
     cex.sub = 1.0,                              # Grafik Alt Başlığı Boyutunu Değiştirme
     cex.axis = 1.2,                             # Grafik Eksenlerindeki Değişkenlerin Boyutlarını Değiştirme
     cex.lab = 1.3,                               # Grafik Eksenlerinin İsimlerinin Boyutlarını Değiştirme
     xlab = "X Ekseninin Adı",          # X Ekseninin Adını Belirleme
     ylab = "Y Ekseninin Adı",          # Y Ekseninin Adını Belirleme
     #asp = 0,                                      # y/x görüntülenme oranını değiştirir X eksenini genişleterek ya da daraltarak grafik çizgisinin görünümü değişir -  help(plot)

     font.main = 6,                       # Grafik Ana Başlığı Font Türünü Değiştirme
     font.sub = 6,                         # Grafik Alt Başlığı Font Türünü Değiştirme
     font.axis = 6,                        # Grafik Eksenlerindeki Değişkenlerin Font Türünü Değiştirme
     font.lab = 6,                          # Grafik Eksenlerindeki İsimlerinin Font Türünü Değiştirme.
     col.axis = "black",                # Grafik Eksenlerindeki Değişkenlerin Rengini Belirleme
     col.lab = "black",                 # Grafik Eksenlerindeki İsimlerin Rengini Belirleme
     col.main = "1",                     # Grafik Ana Başlığının Rengini Değiştirme
     col.sub = "navy",                  # Grafik Alt Başlığının Rengini Değiştirme
     #xlim = c(0,6),                     # X Ekseninin Limitlerini Belirleme
     #ylim = c(-4,12),                  # Y Ekseninin Limitlerini Belirleme
     #lty = "1",                             # Çizgi Türü Çizilen Grafiğin Çizgi Türünü Belirleme (1,2,3,4,5,6)
     #lwd = "2.0",                        # Çizgi Türü Çizilen Grafiğin Çizgi Kalınlığını Belirleme
     #xaxt = "n",                          # X eksenindeki Değişkenleri ve İsimlendirmeyi Boş Bırakma
     #yaxt = "n",                          # Y eksenindeki Değişkenleri ve İsimlendirmeyi Boş Bırakma
     las=1)                                   # X ve Y Eksenlerindeki değişkenlerin pozisyonunu belirleme (0,1,2,3)

lines(lowess(cosmo, f = 1/3), col = 1, lwd = 2.0) #lowess çizgisi oluşturmak - f = 2/3 değeri çizgiyi daha da düzleştiriyor.

text(2, 9, " İstendiğimiz Noktalara Eklenen Metin (x,y) = (2,9) ", cex = 1)

text(2, 7, expression(italic(I(theta,phi)) == italic(I) %.% sin**m *(theta))) #Grafiğin dilediğimiz koordinatlarına istenilen ifadenin eklenmesi

text(1.5, 4, expression(integral(f(x)*dx, a, b)), cex = 1.3, col = "red", pos = 1) ##Grafiğin dilediğimiz koordinatlarına istenilen matematiksel ifadenin eklenmesi

mtext(" Sağ Eksen için Açıklama Ekleme", side = 4) #side (1=bottom, 2=left, 3=top, 4=right)

iki_ile_dort_arasi_degerler <- subset(cosmo, X36CL_AMS < 4 & X36CL_AMS > 2) #2 ile 4 arasındaki değerleri seçmek
points(iki_ile_dort_arasi_degerler, pch=19, col="gray", bg="blue")


Kaynaklar :
https://cran.r-project.org/doc/manuals/r-release/R-intro.html#Graphics
http://blog.revolutionanalytics.com/2015/01/some-basics-for-base-graphics.html





Comments

Monday, 14 September 2015

Temel Histogram Uygulamaları (R&RStudio)

0 Yorum
Basit Histogram Uygulamaları (R)


Histogram, elimizdeki veri setindeki değişkenleri, dilediğimiz aralıklara göre sınıflayarak, bu sınıflanan bu değerleri, sütun/çubuk/bar grafikleri şeklinde gösterimidir.


örnek veri seti : https://www.dropbox.com/s/zz41csqrmzsnofn/kirlilik.txt?dl=0


kirlilik <- read.csv("kirlilik.txt", header = T)

hist(kirlilik$pm10,
     main="Histogram of PM10",
     ylab="Frequency ",
     xlab="PM10",
     border="black",
     col="lightblue",
     xlim=c(0,100),
     ylim=c(0,250),
     las=1,
     breaks=10)


Histogram Grafiği


main > Grafik başlığını tanımlar
ylab > Düşey (y) eksenini etiketler
xlab > Yatay(x) eksenini etiketler
border > sütun kenarlarının baskın rengi
col > sütunların içini dolduracak renk
xlim > x ekseninin sınırlarını belirler
ylim > y ekseninin sınırlarını belirler

las fonksiyonu 0, 1, 2 ya da 3 değerlerini alabilir. Bu değerler, Yatay(x) ve Düşey (y) eksenlerindeki değerlerin konumunu değiştirmeye yarar.

breaks > fonksiyonu histogramın kaç adet sütuna sahip olacağını belirler


hist(kirlilik$pm10,
     main="Histogram of PM10",
     ylab="Density ",
     xlab="PM10",
     border="black",
     col="lightblue",
     xlim=c(0,100),
     ylim=c(0,0.035),
     las=1,
     breaks=10,
     prob = TRUE)
lines(density(kirlilik$pm10, na.rm=T))




Sefa Şahin

Kaynaklar : 
https://stat.ethz.ch/R-manual/R-devel/library/graphics/html/hist.html
http://www.r-bloggers.com/basics-of-histograms/
http://blog.datacamp.com/make-histogram-basic-r/
Comments

Monday, 10 August 2015

Veri Altkümeleri(Subset) Düzenleme ve Listeleme (R&RStudio)

0 Yorum
Veri Alt Kümeleri(Subset) Oluşturmak, Düzenlemek ve Listelemek 


R programlama dilinde, elimizdeki verileri alt kümeler halinde listelemek için aşağıdaki adımları kullanabiliriz.


#Uygulama yapacağımız ilk veriseti hsb2

hsb2<-read.table("http://www.ats.ucla.edu/stat/data/hsb2.csv", sep=",", header=T)

#write kolonundaki 60'dan büyük değerleri listeler
yazma <- subset(hsb2, write > 60) 


#write kolunundaki 60'a eşit ve büyük değerler, read kolonunda 70'e eşit ve büyük değerleri listeler
# race, prog, write, read kolonlarını da beraber listeler
yazma_okuma <- subset(hsb2, write >= 60 & read >= 70, select = c("race", "prog", "write", "read"))



#airquality veriseti uygulamaları
attach(airquality)


#Ozone kolonundaki boş değerleri (missing values) listelemek ve kaç tane olduğunu görmek

sum(is.na(Ozone)) #Ozone kolonundaki NA değerlerinin sayısını gösterir.
summary(airquality$Ozone) #Buradan da NA değerlerini görebiliriz.

#Ozone kolonundaki değerlerin ortalamasını bulmak
mean(airquality$Ozone, na.rm=T)

#Temp kolonundaki 90'dan büyük değerleri listelemek
temp_90lar <- subset(airquality, Temp > 90)


#Ozone kolonundaki 31'den büyük ve Temp kolonundaki 90dan büyük değerleri hesaplayıp ve Ozone, Temp, Solar.R kolonlarını listelemek
ozon_30_temp90lar<- subset(airquality, Ozone >31 & Temp > 90, select = c(Ozone, Temp, Solar.R))

#Bu alt kümenin Solar.R kolunundaki değerler ortalaması 
mean(ozon_30_temp90lar$Solar.R, na.rm=T)

#Yalnızca, Haziran Ayındaki (6.Ay) verileri listelemek (Month kolonu)

haziran_degerleri <- subset(airquality, Month == 6)


#Yalnızca, Mayıs Ayını(5.Ay) verilerini listeleyip, Ozone kolonundaki max değeri bulmak
mayis_hava <- subset(airquality, Month == 5)
max(mayis_hava$Ozone, na.rm=T)
mean(mayis_hava$Ozone, na.rm=T) #Aynı alt kümdeki Ozone kolonunun ortalamasını almak

hava_kalitesi <- airquality

#Yalnızca Eylül Ayının(9.Ay) Verilerini seçip, Ozone kolonunu listelemek
alt_kume1 <- subset(hava_kalitesi, Month==9, select = c("Ozone"))
alt_kume2 <- is.na(alt_kume1)  #NA değerlerini tanımlama
alt_kume3 <- alt_kume1[!alt_kume2] #NA dışındaki verileri seçme 
mean(alt_kume3 ) #Yeni alt kümenin ortalamasını


Sefa Şahin Blog

Comments

Wednesday, 5 August 2015

Gün, Ay ve Yıl Verilerini Tek Kolon Altında Birleştirme (R&RStudio)

0 Yorum
Gün Ay ve Yıl Verilerini Tek Kolon Altında ve Tarih Formatında Birleştirme 



Elimizdeki veri dosyası, aşağıdaki gibi olduğu durumlarda

Day Month Year  St1 St2  St3
1 1 2012 20 51 NA
2 1 2012 33 62 NA
3 1 2012 71 82 NA
4 1 2012 70 79 NA
5 1 2012 44 41 78
6 1 2012 38 NA 49
7 1 2012 15 NA 21
8 1 2012 10 NA 26
9 1 2012 18 27 23
10 1 2012 17 NA 22
11 1 2012 17 NA 22
12 1 2012 13 25 18
13 1 2012 16 29 21
14 1 2012 17 33 24
15 1 2012 10 18 22
16 1 2012 17 25 24
17 1 2012 39 55 NA
18 1 2012 61 59 NA
19 1 2012 33 38 27
20 1 2012 41 40 41
21 1 2012 33 55 40
22 1 2012 16 23 14
23 1 2012 18 34 24
24 1 2012 55 55 40
25 1 2012 NA 43 16
26 1 2012 22 41 20
27 1 2012 10 16 17
28 1 2012 20 29 24
29 1 2012 22 23 22
30 1 2012 27 27 24
31 1 2012 17 23 18


Görüldüğü üzere, Gün, Ay ve Yıl kayıtları ayrı ayrı kolonlarda ve numeric format olarak düzenlenmiş. Bu verileri, Tarih/Data formatında yeniden düzenlemek için ;

rm(list=ls())
veri1 <- read.table("sefa_ornek_veri.txt", header=T)   #ornek datayi tanımlama

days = as.character(veri1$Day)                    #günleri karakter formatına çeviriyoruz
months = as.character(veri1$Month)           # ayları karakter formatına çeviriyoruz
years = as.character(veri1$Year)                 #yılları karakter formatına çeviriyoruz

gun_ay_yil = paste(days, months, years)             #Gün Ay ve Yıl verilerini tek çatı altında birleştirme
dates = strptime(gun_ay_yil, "%d %m %Y")       #Son olarak R için zaman formatı dönüşümü

veriseti1 <- veri1[4:6]                            #Gün, Ay ve Yıl kolonlarını atlayıp diğer veri kolonlarını seçme
veriseti2 = data.frame(dates,veriseti1)  #yeni veri seti gün, ay ve yıl aynı kolon altında birleşir


Yeni Eklenen "date" Kolonunun adını değiştirmek için aşağıdaki iki farklı komut kullanılabilir

veriseti2 = data.frame(Date=dates,veriseti1) 
colnames(veriseti2)[1] <- "Date"



Sefa Şahin Blog

Comments

Monday, 6 July 2015

Excel Formatındaki Veri Dosyalarını Açmak (R& RStudio)

0 Yorum
R programlama dili aracılığıyla "excel formatındaki" dosyalarını açmak


İşlemi gerçekleştirmek için aşağıdaki iki paketler yüklenmelidir.

library(readxl)  #http://cran.r-project.org/web/packages/readxl/
library(Rcpp) #http://cran.r-project.org/web/packages/Rcpp/

# xlsx ve xls formatlarındaki dosyaları açmak için
excel_data <-read_excel("sefa_data.xlsx") #xlsx
excel_data <- read_excel("sefa_data.xls") #xls


# Excel dosyası içeriğindeki farklı sheet'leri açmak
excel_data_sheet <- read_excel("sefa_data2.xlsx", sheet = 3)

Buradaki "sheet = 3" ifadesi excel dosyasındaki alt sayfalardan üçünü sayfaya denk gelir.


#Bos veri hucreleri ya da NA olmasi durumunda
excel_data <- read_excel("sefa_data.xlsx", na = "NA")



Kaynaklar :
stackoverflow




Comments

Saturday, 16 May 2015

Regresyon Doğrusu ve Veri Dağılımını Çizdirme (R& RStudio)

0 Yorum
Regresyon Doğrusu ve Veri Dağılımını Çizdirme 


R programlama dilinde Lineer Regresyon analizi uygulamaları
Mevcut kütüphaneden faydalanarak istediğimiz verileri seçebiliriz. data() komutu yardımıyla R kütüphaneleri listelenip, trees veri setini alıyoruz.

library("MASS")
data(trees)
attach(trees)
trees

 Girth Height Volume
1    8.3     70   10.3
2    8.6     65   10.3
3    8.8     63   10.2
4   10.5     72   16.4
5   10.7     81   18.8
6   10.8     83   19.7
7   11.0     66   15.6
8   11.0     75   18.2
9   11.1     80   22.6
10  11.2     75   19.9
11  11.3     79   24.2
12  11.4     76   21.0
13  11.4     76   21.4
14  11.7     69   21.3
15  12.0     75   19.1
16  12.9     74   22.2
17  12.9     85   33.8
18  13.3     86   27.4
19  13.7     71   25.7
20  13.8     64   24.9
21  14.0     78   34.5
22  14.2     80   31.7
23  14.5     74   36.3
24  16.0     72   38.3
25  16.3     77   42.6
26  17.3     81   55.4
27  17.5     82   55.7
28  17.9     80   58.3
29  18.0     80   51.5
30  18.0     80   51.0
31  20.6     87   77.0

regresyon <- lm(Volume~Height) # Bağımlı değişken Volume, Bağımsız Değişken Height

with(trees, plot(Height, Volume, type="n")) #noktaları dahil etmeden yalnız grafik istekeletini çıkarma
with(trees, points(Height,Volume, pch=16, col="blue"))
title(main="Volume vs Height  (Trees)")
abline(regresyon,col="red", lwd=1.5)
rezz <- signif(residuals(regresyon), 4) # hatalar/artık değerler 4 haneli olarak gözükecek
prezz <- predict(regresyon) #ön görü değerleri
segments(Height, Volume, Height, prezz, col="black")





library(calibrate)
textxy(Height, Volume, rezz, cx=0.7) #hata değerlerini yazdırmak

R ve RStudio' da Regresyon Analizi Yapma




İngilizce Kaynaklar :
R Bloggers
http://ww2.coastal.edu/kingw/statistics/R-tutorials/simplelinear.html





Comments

Tuesday, 5 May 2015

NA ve NaN değerlerini Listelemek ve Kaldırmak (R & RStudio)

0 Yorum
NA ve NaN değerlerini Listelemek ve Yok Etmek/ Kaldırmak



R programlama dilende, basit bir kaç komut kullanarak, verilerdeki, eksik değerlerden kurtulmak için çok kullanışlı bir kaç satır komut  var. Mevcut verisetlerimizdeki istemediğimiz değerleri (NA ve NaN) yok etmek/silmek ve listelemek için aşağıdaki, yöntemi kullanabilirsiniz.


NA : Not Available
NaN : Not a Number

k11 <- as.data.frame(runif(1000, min=-2, max=2))           #Birinci rastgele veriseti 
k22 <- as.data.frame(runif(1000, min=1, max=5))           #İkinci rastgele veriseti
k <- cbind(k11[,1],k22[,1])                      #verisetlerini yan yana birleştirme

klog <- log(k[,2] - k[,1])                     #logaritmik olarak oranlama

which(is.na(klog))                             #NA değerlerini listelemek
which(is.nan(klog))                            #NaN değerlerini listelemek

x<-is.nan(klog)                                #Yalnız numeric setlerde çalışıyor
(1:1000)[x]

kkk <- na.omit(klog)                           #NA değerlerini verisetinden kaldırır.


#Diğer Yöntemler

na_degerlerini_gonder <- is.na(klog)
klog[!na_degerlerini_gonder]


y <- klog[!is.na(klog)]                                       # NA değerlerini kaldırır.              
z <- x[!is.na(x) & x > 0]                                    # NA ve 0(sıfır) olan değerleri kaldırır.


#for döngüsü yazmak isteyenler için

for i in klog  {
  if(klog[i]==NaN, TRUE){
    kk &lt;- na.exclude(klog) #ya da >>> na.omit(k)
  }
  print(kk)




Comments

Monday, 27 April 2015

Verileri Dışarı Aktarma / Kaydetme (R & RStudio)

0 Yorum
RStudio ve R programlama dilinde Çalışma Verilerini Dışarı Aktarma

How to Export Data in R


İlk olarak rastgele bir veri seti oluşturalım.
rastgele = runif(200, min=0, max=100) # En düşük 0,  en büyük 100 değerini alan 200 adet değişkeni mevcut,"rastgele" isimli bir veri seti oluşturduk.


# Şimdi bu veri setini dışarı aktaralım(export)
# Dışarı aktaracağımız dosyanın adı "cikti" olsun
# Oluşturulacak dosya çalışma dizininde yaratılacaktır. (Örn: Sefa\Belgelerim)

write.csv(rastgele, file='cikti.csv')   # CSV formatında kaydetmek


Kolonlar arasında boşluk olacak(tablo) şekilde kaydetmek için

write.table(rastgele, file='cikti.txt', sep = " ")  # TXT formatında kaydetmek

write.table(rastgele, file='cikti.txt', sep = "\t",row.names = F)




Comments

Wednesday, 28 January 2015

Factor nitelikteki kolonları POSIXct nitelikli zaman kolonuna dönüştürmek (R & RStudio)

0 Yorum
Factor nitelikteki Kolonları POSIXlt nitelikli zaman kolonuna dönüştürmek

Elimizdeki veriseti 17 kolon(değişken) ve 366 satırdan(gözlem) oluşuyor. Aşağıdaki komutlar sırasıyla kullanalım.

ISTPM10 <- read.csv("IstanbulPM10andWeather.csv", header=T, sep=",")
attach(ISTPM10)  #
str(ISTPM10)       #data yapısını kontrol ediyoruz

'data.frame': 366 obs. of  17 variables:


 $ EET                       : Factor w/ 366 levels "1/1/12","1/10/12",..: 1 12 23 26 27 28 29 30 31 2 ...
 $ PM10                      : num  30.2 70.7 118.8 97.9 63.3 ...
 $ Max.TemperatureC          : int  7 9 9 9 10 15 13 7 6 7 ...
 $ Mean.TemperatureC         : int  4 4 4 6 7 12 10 6 4 3 ...
 $ Min.TemperatureC          : int  3 1 1 3 4 9 7 4 4 1 ...
 $ Dew.PointC                : int  6 1 6 6 7 5 9 6 4 2 ...
 $ MeanDew.PointC            : int  3 -1 2 4 4 4 7 4 2 0 ...
 $ Min.DewpointC             : int  -2 -3 -2 2 3 2 4 2 -1 -2 ...
 $ Max.Humidity              : int  100 87 100 100 100 76 100 100 93 93 ...
 $ Mean.Humidity             : int  81 64 74 87 79 57 79 92 85 75 ...
 $ Min.Humidity              : int  53 43 61 62 66 42 58 81 65 53 ...
 $ Max.Sea.Level.PressurehPa : int  1025 1027 1026 1026 1018 1005 1006 1011 1019 1020 ...
 $ Mean.Sea.Level.PressurehPa: int  1017 1026 1025 1022 1013 998 1001 1008 1014 1019 ...
 $ Min.Sea.Level.PressurehPa : int  1010 1025 1024 1019 1005 992 994 1005 1010 1018 ...
 $ Max.Wind.SpeedKm.h        : int  45 19 21 16 26 32 35 39 19 34 ...
 $ Mean.Wind.SpeedKm.h       : int  32 11 8 8 11 23 21 31 13 14 ...
 $ WindDirDegrees            : int  360 333 235 235 212 164 143 349 347 6 ...



#EET adlı kolon, bu verisetindeki faktör nitelikli zaman bilgilerini içeriyor.

dates <- strptime(as.character(ISTPM10$EET), "%m/%d/%y")        #dates değişkeni açıp EET kolonundaki faktör formatından çıkarıp strptime formatında dönüştürüyoruz

ISTPM10 = ISTPM10[,2:17]     ya da    ISTPM10 = ISTPM10[-1]     # orijinal zaman kolonu olan EET'yi çıkarır
ISTPM10 = data.frame(Date=dates,ISTPM10)                                # verisetini data frame formatına çevirip, dates kolunu en başa iliştiriyoruz. (Birinci kolon olarak Date başlığı altında gözükecek.



 str(ISTPM10)                                                                             # veri yapısını yeniden sorguluyoruz
'data.frame': 366 obs. of  17 variables:
 $ Date                      : POSIXct, format: "2012-01-01" "2012-01-02" "2012-01-03" "2012-01-04" ...
 $ PM10                      : num  30.2 70.7 118.8 97.9 63.3 ...


Dönüştürme işlemi tamamlandı.




Comments

Thursday, 22 January 2015

Veri Seti Kolonlarında Ekleme Çıkarma ve Birleştirme İşlemleri

0 Yorum
R ve RStudio aracılı ile veri setilerindeki kolonlarında, ekleme, çıkarma ve birleştirme işlemleri


R içinde default olarak bulunan airquality veri setini kullanacağız. 

head(airquality) #veri setindeki ilk değerlerini listeliyoruz.

  Ozone Solar.R Wind Temp Month Day
1    41     190        7.4     67       5      1
2    36     118        8.0     72       5      2
3    12     149        12.6    74      5      3
4    18     313        11.5    62      5      4
5    NA     NA       14.3     56      5      5

6    28      NA       14.9     66      5      6

I.Yöntem

* kolonlardaki değerleri, yeni bir değişkene atayarak, data.frame formatında dönüştürmek

yeni_data1 <- data.frame(airquality[,1], airquality[,2])     # yalnızca 1. ve 2. kolonları seçer yan yana ekler

yeni_data2 <- data.frame(airquality[,1:3])                     # 1. kolondan 3. kolona kadar olan verileri seçip listeler

names(yeni_data2) = c("Ozone", "Solar.R")               #kolon başlıklarını adlandırmaya yarar

yeni_data3 <- yeni_data2[c(2)]                                  #eski data setindeki sadece 2. kolonu alır

yeni_data4 <- yeni_data2[c(-2)]                               #eski data setindeki 2. kolonu siler ve geri kanal tüm veriyi listeler


II.Yöntem

cbind komutunu kullanarak yeni bir değişken oluşturmak

birlesik_data <- cbind(airquality[,1],airquality[,2]) #cbind komutu ile kolonları seçmek için

names(birlesik_data) = c("Ozone", "Solar.R") #kolon adlarını atamak ve değiştirmek




Comments

Monday, 1 December 2014

CSV ve TXT formatındaki dosyalardan Excel'e Veri Aktarma

0 Yorum
CSV ve TXT formatındaki dosyalardan Excel'e veri aktarma nasıl yapılır ?

1) Dosya > Dış Veri Al > Metinden Veri Al


2) Metin içeriğini aktarma sihirbazı - Adım 1 / 3


3) Metin içeriğini aktarma sihirbazı - Adım 2 / 3
Virgil ve Sekme seçili olsun






Verileri kaydedildiği .TXT dosyasını Excel programında çağırıp .CSV olarak 
kaydetmek için En üst menüden VERİ > Dış Veri Al > Metinden


Comments

Saturday, 22 November 2014

Excel dosyalarından R programına Veri Aktarma

0 Yorum
Excel dosyaları ve tablolarını R programına yükleme / veri aktarma


    Öncelikle elimizdeki .xlsx uzantılı Excel dosyalarını R'da kullanabilmek için onları .CSV olarak kaydetmemiz gerekli. Bununla birlikle kullanılan Windows Türkçe ise, sayısal/numeric değerler arasındaki ayıraçlar virgül(,) olarak kullanılıyor, fakat R programlama dilinde bu ayıracın nokta(.) olması gerekmektedir.

Liste ayıracı noktalı virgül (;) olarak görünmekte ancak R programlama dilinde bu unsur, virgül olarak görünmesi gerekmekte.

Bu sorunu düzeltmek için

Başlat  > Denetim Masası  >  Saat, Dil ve Bölge  >  Bölge ve Dil

Sağ en attan  > Ek ayarlar... butonu aracılığıyla

Ondalık simgesi : .  (nokta olarak ayarlayın)

Liste ayıracı : , (virgül olarak ayarlayın)

İşlem Tamam


İngilizce Office Excel için
İngilizce Office Excel için

Control Panel > Clock, Language, and Region > Region

Buttom right --> Additional settings...

Decimal Points : .

Lisst seperator ,

Apply

R programını açıp aşağıdaki komutları kullanabiliriz.


calisma <- read.csv("dosya.csv", header=TRUE)

calisma  #değiskenler programa aktarıldı
names(calisma) #tüm değişkenlerin adını listeler
calisma$ISTANBUL #ISTANBUL sütunundaki değerleri listeler
mean(calisma$ISTANBUL) #ISTANBUL sütunundaki değerlerin ortalaması ortalaması
sd(calisma$ISTANBUL) #ISTANBUL sütunundaki standart sapması



Comments

Wednesday, 29 October 2014

R ve RStudio' da Regresyon Analizi Yapmak

0 Yorum
R ve RStudio' da Regresyon Analizi Yapmak



R programlama dili aracılığıyla, gözlem değerlerimiz arasında doğrusal regresyon analizi yapmak


getwd()   #Çalışma dizinimizi görmek için bu komutu kullanıyoruz
setwd   ("C:/Users/SEFA/Documents/Veri")   #Çalışma dizinini değiştiriyoruz

rm(list=ls())     #rm "remove" manasinda kullaniliyor ve degiskenleri temizliyor.
list.files()     #Çalışma dizinindeki dosyaları listeliyoruz

hava_kalitesi <- read.csv("airquality_2014.csv",header=TRUE,sep=",")    
#dosya adı kullanmak yerine kendi belirlediğimiz bir değişken adını dosyayı okuması için atıyoruz.

#değişken adını istediğimiz gibi belirleyebiliriz bu çalışmadaki değişken adı hava_kalites olarak düzenlendi

#bu noktadan itibaren "hava_kalitesi" yazdığımızda, direkt olarak airquality_2014.csv dosyasındaki değerler listelenir.

names(hava_kalitesi) #bu komut sayesinde dosyamızdaki HEADER etiketleri listelenir.
hava_kalitesi$Temp #komutu Temp sütunundaki tüm gözlem değerlerini listeler.
mean(hava_kalitesi$Temp) #Temp sütunundaki gözlem değerlerinin ortalamasını verir.
sd(hava_kalitesi$Temp) #Temp sütunundaki gözlem değerlerinin Standart Sapmasını verir.
var(hava_kalitesi$Temp) #Temp sütunundaki gözlem değerlerinin Varyasını verir.

#Regresyon analizi yapmak icin lm komutunu kullanacağız. lm anlam olarak linear model manasına gelmektedir.

regresyon <- lm(Temp~Wind) 

Error in eval(expr, envir, enclos) : object 'Temp' not found

Hata oluştu: eval(expr, envir, enclos) : 'Temp' nesnesi bulunamadı

#yukardaki hatanın nedeni bağımsız değişkeni tanımlamadığımızdan kaynaklanıyor.
#kullanacağımız değişken dosyasında 4 farklı gözlem verileri mevcut. Temp, Ozone, Solar.R ve Wind
#Bu nedenle değişkenleri tek tek tanımlayalım.


y <- hava_kalitesi$Temp   #bağımlı değişken olarak seçelim
x1 <- hava_kalitesi$Ozone   #bağımsız değişken I
x2 <- hava_kalitesi$Solar.R   #bağımsız değişken II
x3 <- hava_kalitesi$Wind    #bağımsız değişken III

#değişkenleri ataması tamamlandı.

regresyon <- lm(y~x1+x2+x3) #modeli çalıştırmak için bu komutu kullanıyoruz.

regresyon #regresyon analizi sonuçlarını görmek için


Call:
  lm(formula = y ~ x1 + x2 + x3)

Coefficients:
  (Intercept)           x1           x2           x3 
72.418579     0.171966     0.007276    -0.322945 



summary(regresyon)  # t degelerini P degeleri ve F istatistik degelerini gormek icin

Call:
  lm(formula = y ~ x1 + x2 + x3)

Residuals:
  Min      1Q  Median      3Q     Max
-20.942  -4.996   1.283   4.434  13.168

Coefficients:
  Estimate Std. Error t value Pr(&gt;|t|)   
(Intercept) 72.418579   3.215525  22.522  &lt; 2e-16 ***
  x1           0.171966   0.026390   6.516 2.42e-09 ***
  x2           0.007276   0.007678   0.948    0.345   
x3          -0.322945   0.233264  -1.384    0.169   
---
  Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 6.834 on 107 degrees of freedom
Multiple R-squared:  0.4999, Adjusted R-squared:  0.4858
F-statistic: 35.65 on 3 and 107 DF,  p-value: 4.729e-16



hata_terimleri <- regresyon$residuals  #hata terimlerini görmek için

hata_terimleri  

hata_terimleri <- cbind(hata_terimleri) #hataları tek sütunda görmek için

hata_terimleri 

par(mar=c(4,4,2,0.5),mfrow=c(2,2)) #RStudio 'nun hata vermemesi için grafik düzenlemek için

plot(regresyon) #komutu sayesinde 4lü grafik çizelim.




Blog Format Code: http://formatmysourcecode.blogspot.co.uk

R (programming language): https://www.r-project.org/about.html
 http://en.wikipedia.org/wiki/R_(programming_language)

Comments
Related Posts Plugin for WordPress, Blogger...