Mojmír Vinkler, 2.3.2016
sqrt((42 + 4.2)^2 + sin(exp(1) * pi))
a = 1
# operator <- je stejny jako =
b <- 2
c = a + b
c
# numericky typ
a = 2
a = 2.2
# retezec (string)
a = 'text'
# true / false
a = TRUE
a = FALSE
a = T
a = F
# vektor
a = c(1,2,3)
a = 1:3
1 == 1
1 != 2
1 < 2
!TRUE
is.na(NaN)
is.null(NULL)
# matice
A = matrix(1:9, 3, 3)
A = rbind(c(1,2,3), c(4,5,6), c(7,8,9))
A
# dataframe (= matice s pojemnovanymi sloupci)
df = data.frame(a=c(1,2,3), b=c('a', 'b', 'c'))
head(df)
a = c(1,2,3)
b = c(3,4,5)
# scitani / nasobeni po slozkach
print(a + b)
print(a * b)
# skalarni soucin
print(a %*% b)
A = matrix(1, 2, 3)
# nasobeni po slozkach
A * A
# maticove nasobeni
A %*% t(A)
a = 1:10
a[4]
A = matrix(1:9, 3, 3)
# prvek
A[1,3]
# 1. radek
A[1,]
# 1. sloupec
A[,1]
A = data.frame(a=c(1,2,3), b=c('a', 'b', 'c'))
# sloupec `a`
A[,'a']
# prvni radek
A[1,]
# sloupce `a` a `b`
A[,c('a', 'b')]
a = c(1,2,3)
sum(a)
mean(a)
max(a)
min(a)
sd(a)
x = 1:100
y = sin(0.1 * x)
plot(x, y, xlab='x-ova osa', ylab='y-ova osa', main='Hlavni popisek')
require(datasets)
pairs(iris[1:4], main="Edgar Anderson's Iris Data", pch=21,
bg = c("red", "green3", "blue")[unclass(iris$Species)])
secti = function(a, b, c=1){
return(a + b + c)
}
secti(3, 4)
secti(3, 4, c=2)
odpoved = 42
if(odpoved == 42){
print('Spravna odpoved')
} else if(abs(odpoved - 42) <= 2){
print('Skoro...')
} else {
print('Spatna odpoved')
}
for(i in 1:10){
print(i)
}
data = read.table('data-3d-base-xyz.txt', header=TRUE)
head(data)
# instalace knihovny
install.packages('circular')
# nacteni knihovny k pouziti (zpristupni funkce k pouziti)
library(circular)
# nacteni vsech funkci z externiho skriptu
source('moje-funkce.R')
apply
¶Pomocí apply
můžete aplikovat danou funkci na všechny řádky / sloupce matice (nebo data.frame).
# prumerna hodnota sloupce
apply(data[,c('x.B', 'y.B', 'z.B')], 2, mean)
# prumerna hodnota radku
apply(data[,c('x.B', 'y.B', 'z.B')], 1, mean)
# funkce pro vypisovani na konzoli
cat('Vypis', 'text', 42, '\n', 'na dalsi radek')