INFORMATYKA I – Program R i programowanie w R (2)
Transkrypt
INFORMATYKA I – Program R i programowanie w R (2)
2013/2014 ss 1 st E II r III sz INFORMATYKA I – Program R i programowanie w R (2) 1. Katalog roboczy, utworzenie katalogu roboczego > getwd() #aktualny katalog roboczy > setwd("C:/rtmp") #zmiana katalogu roboczego lub polecenie File | Change dir… > dir() #zawartość katalogu roboczego 2. Generowanie ciągów arytmetycznych – operator zakresu : i funkcja c() – liczby całkowite w przedziale od 1 do 100 i od 25 do 1 > c(1:100); c(25:1) – funkcja seq() > seq(-10,10,1) #liczby w przedziale od –10 do 10 z krokiem 1 > seq(1,10,by=0.5) #liczby w przedziale od 1 do 10 z krokiem 0,5 > x<-seq(-2*pi,2*pi,by=0.1) #liczby w przedziale <–2; 2>, krok 0.1 > seq(length=6,from=2,to=5) #z argumentami length, from, to Utworzenie nowego skryptu: polecenie File | New script x<-seq(-2*pi,2*pi,by=0.1) windows(width=6,height=8,pointsize=7) par(mfrow=c(2,1),pty="s",las=1) plot(x,cos(x),type="l") abline(h=0) plot(x,sin(x),type="l") abline(h=0) Zapisanie skryptu w pliku: polecenie File | Save as… (np. sincosx.r) – funkcja rep() – powtórzenie (replikacja) wektora liczb > rep(c(1:5),10) #1:5 (10 razy) > rep(c(1:5),each=3) #1:5 (każdy element powtórzony 3 razy) > rep(c(1:5),length.out=21) #1:5 (długość wektora 21 elementów) > rep("a",15) #powtórzenie wektora znaków 3. Generowanie liczb (ciągów) losowych – funkcja sample() > > > > sample(1:20,5); sample(20,5) sample(10,5,replace=TRUE) #losowanie z powtórzeniami sample(49,6,replace=FALSE) #losowanie bez powtórzeń sample(letters,5); sample(LETTERS,5) – funkcje runif() i rnorm() > runif(55) > rnorm(100,mean=0,sd=1) > m<-180; s<-10 > n<-1000 > x<-rnorm(n,m,s) > hist(x,freq=FALSE) > curve(dnorm(x,m,s),add=TRUE) 4. Tworzenie wektorów za pomocą funkcji: vector(), numeric(), logical(), character() > > > > > > x<-vector(mode="numeric",length=10) x<-vector(mode="character",length=10) x<-vector(mode="logical",length=10) numeric(10) logical(10) character(10) 1 2013/2014 ss 1 st E II r III sz 5. Tworzenie macierzy za pomocą funkcji: dim(), matrix(), array() > > > > > X<-1:24 dim(X)<-c(4,6); X dim(X)<-c(2,12); X dim(X)[1] #liczba wierszy w macierzy dim(X)[2] #liczba kolumn > > > > > X<-matrix(1:24,nrow=4,ncol=6); X X<-matrix(1:24,nrow=4,ncol=6,byrow=TRUE); X X<-matrix(nrow=2,ncol=3,byrow=TRUE); X X<-matrix(0,nrow=2,ncol=3,byrow=TRUE); X X<-matrix(T,nrow=2,ncol=3,byrow=TRUE); X > array(1:12,c(3,4)) > array(1:12,c(4,3)) > array(1:12,c(3,2,2)) 6. Tworzenie listy za pomocą funkcji: list() > > > > > > > > > lista<-list(1:3,c("a","b","c"),c(FALSE,TRUE)) lista lista[2] lista[3]; lista[2]; lista[1] lista[[2]][2] lista[[3]][1] Lista<-list(liczby=1:5,znaki=c("A","B","C","D","E"),logiczne=c(FALSE,TRUE)) Lista Lista$logiczne; Lista$znaki; Lista$liczby 7. Tworzenie tabeli danych za pomocą funkcji: data.frame() > > > > > > > a<-sample(c(TRUE,FALSE),10,replace=TRUE); b<-LETTERS[1:10] c<-runif(10); d<-month.abb[1:10] a; b; c; d tab<-data.frame(a,b,c,d) #utworzenie tabeli danych tab colnames(tab)<-c("Logiczne","Znakowe","Liczbowe","Tekstowe") tab #nazwy kolumn 8. Zapisywanie tabeli danych w pliku dyskowym za pomocą funkcji: write.table(), write.csv(), write.csv2() > > > > write.table(tab,file="tabela.txt") write.csv(tab,file="tabela1.csv") write.csv2(tab,file="tabela2.csv") write.csv2(tab,file="tabela3.csv",row.names=FALSE) 9. Odczytywanie tabeli danych z pliku dyskowego za pomocą funkcji: read.table(), read.csv(), read.csv2() > > > > > > tbl<-read.table("tabela.txt") tbl1<-read.csv("tabela1.csv") tbl2<-read.csv2("tabela2.csv") tbl3<-read.csv2("tabela3.csv") tbl tbl3 Zad. 1. Utwórz tabelę danych zawierającą: imiona i nazwiska studentów, oraz takie cechy, jak: płeć, data urodzenia, rok studiów Zad. 2. Zapisz tabelę danych w pliku dane.csv, wczytaj tabelę danych z pliku dane.csv, wyświetl w oknie konsoli zawartość pliku dane.csv. 2