Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyVýpočetní matematické systémy Výuka jazyka R Vektory Úlohy k procvičení

Logo Matematická biologie

Úlohy k procvičení

Cvičení 1. V cementárně byla měřena hmotnost pytlů cementu, k dispozici jsou naměřené hodnoty:
50.3, 50.7, 49.2, 50.1, 49.9, 51.1, 49.8, 48.9 a 50.3.
Poskládejte tyto hodnoty do vektoru cement a vyřešte následující úkoly:
a) Pomocí vhodné funkce zjistěte délku vektoru cement
b) Vytvořte vektor cement1, který bude obsahovat hodnoty na sudých pozicích vektoru cement a dále pak jeho poslední tři hodnoty. 
c) Vytvořte vektor cement2, který bude náhodnou kombinací pěti hodnot vektoru cement s pravděpodobností 0.4 pro první čtyři hodnoty vektoru cement a s pravděpodobností 0.2 pro ostatní hodnoty, hodnoty se mohou opakovat.
d) Vypište ty složky vektoru cement, které jsou větší než 50.

Řešení

cement <- c(50.3, 50.7, 49.2, 50.1, 49.9, 51.1, 49.8, 48.9, 50.3)
a) length(cement)
b) cement1 <- c(cement[seq(from=2, to=length(cement), by=2)], tail(cement, 3))
c) cement2 <- sample(cement, size=5, prob=c(rep(0.4, times=4), rep(0.2, times=length(cement)-4)), replace=TRUE)
d) cement[cement > 50]

 

 

 

 

 

Cvičení 2. Náhodně vygenerujte vektor v délky 15 s hodnotami 0 a 1. Dále z něj vytvořte faktor pohlavi, ve kterém se hodnota 0 bude vypisovat jako "muž" a hodnota 1 jako "žena".

Řešení

v <- sample(c(0, 1), size=15, replace=TRUE)} nebo
v <- round(runif(min=0, max=1, n=15))
pohlavi <- factor(v, levels=c(0, 1), labels=c("muz", "zena"))

 

 

 

 

 

Cvičení 3. Změňte minulé zadání tak, aby se hodnota 0 vypisovala jako "žena" a hodnota 1 jako "muž".

Řešení

pohlavi <- factor(v, levels=c(1, 0), labels=c("muz", "zena"))

Cvičení 4. Vytvořte vektor hodnot v1 od -10 do 0 s krokem 0.5.

Řešení

v1 <- seq(from=-10, to=0, by=0.5)

Cvičení 5. Vytvořte vektor hodnot v2 obsahující sudé hodnoty posloupnosti -12, -11, ... , 11, 12. 
a) Hodnoty vektoru v2 zdvojte tak, aby nově vzniklý vektor obsahoval hodnoty -12, ... , 12, -12, ... , 12. 
b) Hodnoty vektoru v2 zdvojte tak, aby nově vzniklý vektor obsahoval hodnoty -12, -12, ... , 12, 12.

v2 <- seq(from=-12, to=12, by=2)
a) rep(v2, times=2)
b) rep(v2, each=2)

 

 

 

Cvičení 6. Proveďte losování tahu sportky, tzn. vyberte 7 čísel od 1 do 49 tak, aby se neopakovala.

 

Řešení

sample(1:49, size=7)

Cvičení 7. Náhodně vygenerujte 10 hodnot z normálního rozložení se střední hodnotou 5 a rozptylem 2.

Řešení

rnorm(n=10, mean=5, sd=sqrt(2))
 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity