İTÜ Uçak ve Uzay Bilimleri Fakültesi Meteoroloji Mühendisliği Bölümü uubf.itu.edu.tr TÜBİTAK (111Y319) COST (ES1004) www.havakalitesi.itu.edu.tr toros.

Slides:



Advertisements
Benzer bir sunumlar
PHP VE MYSQL.
Advertisements

EKRAN ÇIKTISI.
Asp - Asp.Net Temel Özellikleri ve Örnek Uygulamalar
mantIKSAL OPERATÖRLER
JavaScript Birinci Hafta.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Nedir? Türkiye PHP Grubu – Dokuz Eylül Üniversitesi
ALGORİTMA ÖRNEKLERİ Programlamaya Giriş
Bölüm 4 – Kontrol İfadeleri:1.kısım
Bölüm 2: Program Denetimi
Javascript Oğuz İNAL.
Dizi (array) değişkenleri
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 3: Döngüler
Bölüm 3 – Yapısal Programlama
T-SQL-2.Konu Akış Kontrolleri.
Yapısal Program Geliştirme – if, if-else
İnternet Programcılığı II
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
HESAP TABLOSU PROGRAMLARI
Operatörler ve Denetim Yapıları
BPR152 ALGORİTMA VE PROGRAMLAMA - II
MART 2013 İŞLETİM SİSTEMLERİ.
Kabuk Programlama Kerem ERZURUMLU
Koşul İfadeleri ve Akış Kontrolü Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini.
Akış Kontrol Mekanizmaları
İnternet Programlama PHP.
Çoklu dallanma seçimi: switch
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
NESNEYE YÖNELİK PROGRAMLAMA
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
İnternet Programcılığı II
JAVA’DA DİZİLER Dr.Galip AYDIN.
BİL 102 BİLGİSAYAR PROGRAMLAMA
PHP’ye Giriş Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan.
PROGRAM DENETİM DEYİMLERİ
4. KONTROL VE DÖNGÜ KOMUTLARI
BM-103 Programlamaya Giriş Güz 2014 (9. Sunu)
Python Aslı Ergün.
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
İKMAP İnternet 1 Ders Notu
MATLAB’ de Programlama
Bilgisayar Mühendisliği Bölümü
Mobil Uygulama Geliştirme
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
BMS-301 Kabuk Programlama Güz 2015 (5. Sunu) (Yrd. Doç. Dr. Deniz Dal)
İŞLETİM SİSTEMİ İşletim Sistemi Nedir İşletim Sisteminin Görevleri
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
IF if (şart) { İşlemler… }
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı Arş. Gör. Pınar CİHAN.
Sayısal Analiz / Uygulama
VERİ TİPLERİ BYTE:0-255 ARASI TAMSAYI (1 BYTE)
ELEKTRONİK TABLOLAMA PROGRAMI: EXCEL
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
DİJİTAL GÖRÜNTÜ İŞLEME Y. Doç. Dr. Esra Tunç Görmüş
YAZILIM ÖLÇÜMÜ Yazılım mühendisliği, yazılım ürününü oluşturmaya, mühendislik yaklaşımı uygulamakla ilgili olan teknikler toplamını tanımlamak için kullanılan.
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
7. HAFTA.
MATLAB R2013’e Giriş.
METHODLAR VE KOŞULLAR.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Excel’de VBA Programlama (Visual Basic Application)
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bir Döngünün Bölümleri (hatırlatıcı)
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
Sunum transkripti:

İTÜ Uçak ve Uzay Bilimleri Fakültesi Meteoroloji Mühendisliği Bölümü uubf.itu.edu.tr TÜBİTAK (111Y319) COST (ES1004) toros at itu.edu.tr Rstudio R 1

- - İstatistik hesaplamalar ve grafikler için geliştirilmiş bir yazılımdır. - R istatistik (doğrusal ve doğrusal olmayan modelleme, klasik istatistik testleri, zaman-serileri analizi, sınıflandırma, kümeleme, …) ve grafik teknikler vs çok geniş alanı vardır. - Açık kaynak kodludur. - Açık kaynak olduğu için her gün kullanıcı sayısı artmaktadır. - Katkı yapan sayısı artmaktadır - R kaynak kodları, Özgür Yazılım Vakfı GNU Genel Kamu Lisansı altında Özgür Yazılım olarak kullanılabilir. - Linux, UNIX, Windows, MacOS vb sistemlerde çalışır. R 2

- R bütünleşik bir yazılım olduğu için veriler, hesaplamalar ve grafik gösterimleri vardır. - Etkili bir veri işleme ve depolamaya sahiptir, - Dizi, matris hesaplamaları kolaylıkla yapılabilir. - Basit ve etkili bir programlama dilidir. - Gerçek bir bilgisayar dili etrafında tasarlanmış ve kullanıcıların yeni fonksiyonlar tanımlayarak ek işlevsellik eklemek için izin verir. - C, C ++ ve Fortran kodu bağlantılı olabilir. R 3

- Ücretsiz… - İhtiyacınızın büyük çoğunluğu için yazılmış hazır işlevler ve kütüphaneler mevcut. - R, bir programla dilidir. - Kodların derlenmiş olması gerekmez - Etkileşimli ekranlar vardır - R’nin eksileri ise derlenen dillere göre daha yavaş çalışır Niçin R? 4

- RStudio açık kaynak kodlu ve ticari sürümleri mevcuttur. - Masaüstünde (Windows, Mac ve Linux), RStudio Server, RStudio Sunucu Pro (Debian / Ubuntu, RedHat / CentOS ve SUSE Linux) bağlı bir tarayıcıda çalışır. 5

- Betikler için kod yazım alanı, dosyadan açma veya kaydetme Çalışma alanı, değişkenler, dosyalar, son komutlar vs Çizim sonuçları, paket yükleme ve yardım alanı Anlık komut yazma ve çalıştırma alanı R ile aynı 6

Dosyaları açmak, kaydetmek, kapatmak Paketleri kurmak, Paketleri kullanmak için ayrıca her seferinde yüklemek gerekir. Ayarlar yapmak 7

 Hangi klasörde çalışıyor? >getwd() [1] "D:/Documents/Huseyin/projeler/AnkaraCED/veriler“  Çalışma klasörünü nasıl değiştiririm? >setwd ("D:/Documents/Huseyin/projeler/AnkaraCED/veriler/Eylul2014Veri/")  Hesap Makinesi gibi kullanabilir miyim? >4+3-9 [1] -2 >6*10+2^4 [1] 76 >90-9/9*(23-7) [1] 74 8

 Aritmetik ve mantık işlem işaretleri nelerdir? + toplama - çıkarma * çarpma / bölme % mod (kalan) ^ üst ! değil & ve | veya == eşittir != eşit değildir Daha fazla bilgi için >?Syntax >?Comparison deneyebilirsiniz 9

R içinde – help( ) – help(sqrt) – ? – ?sum – ?? – ??air Web sayfasından – – CRAN – Google’da kelime ve CRAN, sum cran gibi  Nasıl yardım alabilirim? 10

 Nasıl değişkenler oluşturabilirim? Verilerin kabına isim vermek! Değişken isimleri R için özel anlamı olmayan herşey Degisken = veri > sey=4 > sey [1] 4 11

 R’de Veri çeşitleri nelerdir? Vektör o numeric  floating point  integer o logical o character İşlevler listeler > a <- 101 > length(a) [1] 1 > a[1] [1] 101 > a[2] [1] NA > a[2] <- 202 > length(a) [1] 2 12

 Diziler / Matrisler 5x1’lik dizi 4x4’lük matris 13

 Diziler array(data=NA, dim=length(data), dimnames=NULL) > x <- array(1:9) > x [1] > x <- array(1:9,c(3,3)) > x <- 1:64 > dim(x) <- c(2,4,8) #dim() Vektörü diziye dönüştürür. > is.array(x) [1] TRUE [,1] [,2] [,3] [1,] [2,] [3,]

 Diziler x x[1,,] x[1,2,] x[1,2,1] 15

 Tarih date() Sys.time() Sys.Date() class(date()) class(Sys.Date()) class(Sys.time()) x <- "19:18:05" y <- strptime(x,"%H:%M:%S") y class(y) y$sec 16

 Matrisler Matris tanımlama A <- matrix(c(3,5,7,1,9,4),nrow=3,ncol=2,byrow=TRUE) A Matris satır ve sütun sayısı rA <- nrow(A) rA cA <- ncol(A) cA Matirisin transposesi B <- t(A) B 17

 Matrisler Matris çarpımı C <- A * A C Matris toplamı C <- A + A C 18

 Matrisler Matris verilerini dosyadan okutmak için yandaki verileri sortmatrix.csv dosyasına yazınız. x <- read.csv("sortmatrix.csv",header=T,sep=","); x <- x[order(x[,4]),]; x <- write.table(x,file="tp.txt",sep=",") r1,1,0,1,0,0,1,0,2 r2,1,2,5,1,2,1,2,1 r3,0,0,9,2,1,1,0,1 r4,0,0,2,1,2,0,0,0 r5,0,2,15,1,1,0,0,0 r6,2,2,3,1,1,1,0,0 r7,2,2,3,1,1,1,0,1 19

20 library(openair) setwd("D:/belgelerim/HUSEYIN") getwd() # RUZGAR Gulu mydata <- import("balikesir_saatlik_veri.csv", date = "Tarih",sep=",") polarPlot(mydata, pollutant = 'SO2', type = 'default', main="Balıkesir")

21 # 2 Zaman Serisi TREND mydata <- import("balikesir_saatlik_veri.csv", date = "Tarih",sep=",") smoothTrend(mydata, pollutant = "SO2", deseason = TRUE, statistic = "percentile", percentile = c(25, 50, 75, 95), ylab = "ug/m3")

22 #Boxplot mydata <- import("balikesir_saatlik_veri.csv", date="Tarih",sep=",") Mydata<-mydata[,2:3] Boxplot(mydata, ylab=“ug/m3”,xlab=“” title(main=“balikesir”

23 boxplot(veri$PM10,veri$PM2.5, veri$SO2,veri$NO,veri$NO2,veri$NOX,veri$CO, varwidth=TRUE, notch=TRUE, staplewex=0.5, names=c("PM10","PM2.5", "SO2","NO","NO2","NOX","CO"), main="A.BAHCELIEVLER", xlab="Kirleticiler", ylab="ug/m3", y="log",outcex=1.0, outpch=18,outcol="red", boxcol="black", boxfill="lavenderblush2", whisklty=10, boxwex=0.7, whiskcol="black", cex.lab=1.0, cex.axis=1.0, staplelwd=2, staplecol="red", medcol="black") #boxplot2

24

25 #HİSTOGRAM mydata<-read.table(file=" balikesir_saatlik_veri.csv ",sep=";",header=TRUE,row.names=NULL) hist(mydata$PM10, main=“BALIKESIR PM10 YOGUNLUK- DAGILIMI",col.main="RED",xlab = "PM10 (ug/m3)",ylab = "DATA NUMBER",col="light blue")

26

27 #POLLUTIONROSE mydata <- import("balikesir_saatlik_veri.csv", date="Tarih",sep=",",header=TRUE,row.names=NULL) pollutionRose(mydata, pollutant="PM10", type="default")

28 BALIKESIR-PM10

29 #sezonluk PollutıonRose pollutionRose(mydata, pollutant="PM10", type="season",main="balikesir" )

30 #Sezonluk rüzgargülü polarPlot(mydata,pollutant="SO2",type="season",main="balikesir")

31 x <- import("balikesir_saatlik_veri.csv", date = "Tarih",sep=",") smoothTrend(x, pollutant = "SO2", deseason = TRUE, statistic = "percentile", percentile = c(25, 50, 75, 95), ylab = "ug/m3") timePlot(x, pollutant = c("PM10","SO2"), cols = c("blue","orange"), lwd = c("1","1"), group = FALSE)

32 timePlot(x, pollutant = c("PM10","SO2"), cols = c("blue","orange"), lwd = c("1","1"), group = FALSE, smooth = TRUE, avg.time ="month") timeVariation(x, pollutant = c("PM10","SO2")) timeVariation(x, pollutant = "SO2", cols = "darkgreen") mydata <- import("balikesir_saatlik_veri.csv", date = "Tarih",sep=",") scatterPlot(mydata, x = "PM10", y = "SO2", spline = "TRUE")

33 #Sonuçları DOSYAYA YAZDIRMAK ICIN plot.new() #start a new plot png() dev.copy(png,"Balikesir_SO2_ruzgar_gulu.png",width=4,h eight=4,units="in",res=300) mydata <- import("balikesir_saatlik_veri.csv", date = "Tarih",sep=",") polarPlot(mydata, pollutant = 'SO2', type = 'default', main="Balıkesir") dev.off()

 Kod algoritması nasıl bir şeydir? xkcd #844 34

 Programlama yapısı nasıl bir şeydir? if... then... Else Belli sonuca göre ne iş yapılacağına karar verme for... while... Belli satırların şartlar sağlanıncaya kadar tekrarı Sırayla yukarıdan aşağı işlemler 35

 Döngüye örnek verir misiniz? Belli satır veya satırların şartlar sağlanılıncaya kadar tekrarı for (i in 1:4) { print(i) } {} içinin 20 defa tekrar yapılır. > for (i in 1:4) + {print(i)} [1] 1 [1] 2 [1] 3 [1] 4 36

 Döngüye örnek verir misiniz? # Ölçüm sonuçlarının değer1 kutusuna atanması > deger1 = c(0.1, 0.05, 0.003, 0.4, 0.9) > deger1 [1] # Deger2 kutusuna 1’den 5’e kadar sayı atamak deger2 = 1:5 # Deger1’in log’larını deger2’ye atamak for(i in 1:length(deger1)) { deger2[i] = log10(deger1[i]) } > deger2 [1]

 While Loop döngüsü Belli satır veya satırların şartlar sağlanılıncaya kadar tekrarı while (stop != TRUE) {... code... } stop = TRUE Note: Eğer şartlar oluşmaz ise program kapatılıncaya kadar döngü devam eder. 38

 While Loop döngüye örnek verir misiniz? > x =1 > while(x < 5) {x <-x+1; print(x);} [1] 2 [1] 3 [1] 4 [1] 5 > x =1 > while(x < 5) {x <- x+1; if (x == 3) break; print(x); } [1] 2 > x <- 1 > while(x < 5) {x <- x+1; if (x == 3) next; print(x);} [1] 2 [1] 4 [1] 5 39

 Functions Bits of code that do one thing and (preferrably) do it well Functions break up your code into more manageable and reusable parts Defining (e.g. in a script): fun = function(arguments) {... code... } Calling: party = fun(food,beer,folks) 40

 A Simple Function fn1 <- function(N) { for(i in as.numeric(1:N)) { y <- i*i } } fn2 <- function(N) { i = 1 while(i <= N) { y <- i*i i <- i + 1 } system.time(fn1(60000)) system.time(fn2(60000)) 41

Student’s T-test 42

Comparing the Means of Two Groups Sleep dataset in R is a comparison of two students sleep habits 43

Doing a Student’s T-test t.test(sleep[1:10,’extra’],sleep[11:20,’extra’]) or t.test(extra ~ group, data = sleep) 44

Correlation 45

Testing for a Correlation cor.test(c(1:10), c(11:20)) 46

Testing for a Correlation cor.test(c(1:10), -c(11:20)) 47