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