Presentation slides lecture 7

Why you should
use R
free
open source
platform independent
Mac, Windows, Linux
many free packages available
versatility
Wed, May 21, 14, w
Why you should
use R
get grip on your data
do all analyses you want
be independent of licenses
learn programming
make impressive graphs
have fun
Object Types
• vector
num.vector = c(2, 6, 33, NA)
log.vector = c(TRUE, FALSE, TRUE)
char.vector = c(‘Hello’, ‘’, ‘R’)
7
2
NA
16
Wed, May 21, 14, w
Object Types
a[3, 2]
• matrix
7
4
33
10
2
24
10
1
NA
6
NA
22
16
18
15
31
apply(a, 2, sum)= 25 52 58 64
Wed, May 21, 14, w
Object Types
• array
Wed, May 21, 14, w
1
4
7 10
2
5
8 11
3
6
9 12
Object Types
• array
5 4 7 10
1 4 7 10
2 5 8 11
2 5 8 11
4 6 53 2
3 6 9 12
Wed, May 21, 14, w
Object Types
• array
6 4 7 6
5 4 7 10
5
4
8
13
1 4 7 10
2 5 8 11
2
6
11
2
2 5 8 11
4 6 53 2
3 6 9 12
Wed, May 21, 14, w
Object Types
• array
6 4 7 6
5 4 7 10
5
4
8
13
1 4 7 10
2 5 8 11
2
6
11
2
2 5 8 11
4 6 53 2
3 6 9 12
b[1, 2, 3]
b[3, 2, 2]
Wed, May 21, 14, w
Object Types
• array
b[, , 1:3]
b[1:3, , ]
6 4 7 6
5 4 7 10
1 4 5 7 4108 13
2 5 8 11
2 5 2 8 61111 2
4 6 53 2
3 6 9 12
b[, 1:4 , ]
Wed, May 21, 14, w
Object Types
• array
b[, , 1:3]
b[1:3, , ]
6 4 7 6
5 4 7 10
1 4 5 7 4108 13
2 5 8 11
2 5 2 8 61111 2
4 6 53 2
3 6 9 12
b[3, 1, ]
b[, 1:4 , ]
Wed, May 21, 14, w
Object Types
• array
b[, , 1:3]
b[1:3, , ]
6 4 7 6
apply(b, 3, sum)
5 4 7 10
1 4 5 7 4108 13
2 5 8 11
2 5 2 8 61111 2
4 6 53 2
sum
3 6 9 12
b[, 1:4 , ]
Wed, May 21, 14, w
sum
sum
Object Types
• list
list
$
7
2
NA
16
$
[[2]]
$
6 4 7 6
5 4 7 10
1 4 5 7 4108 13
2 5 8 11
2 5 2 8 61111 2
4 6 53 2
3 6 9 12
7
2
N
A
16
4
24
6
18
33
10
N
A
15
10
1
22
31
G’
‘zzz’
NA
‘’
lapply(a, sum) = c(25, 206, NA, 199)
Wed, May 21, 14, w
Object Types
• data.frame (special kind of list)
data.frame
$v1 [,2] $sex $bla
7 4
2 24
NA 6
16 18
female
male
female
female
10
1
22
31
apply(a, 2, sum)
25 52 NA 64
lapply(a, sum)
tapply(a$v1, a$sex, sum) = c(7, 18)
Wed, May 21, 14, w
a[2, 3]
a$bla[4]
Object Types
• data.frame (special kind of list)
data.frame
$v1 [,2] $sex $bla
7 4
2 24
NA 6
16 18
female
male
female
female
10
1
22
31
apply(a, 2, sum)
25 52 NA 64
lapply(a, sum)
tapply(a$v1, a$sex, sum) = c(7, 18)
Wed, May 21, 14, w
tapply
tapply(y, x, mean)
Wed, May 21, 14, w
y
43
51
32
4
2
42
5
42
x
1
2
1
1
2
2
2
1
tapply
tapply(y, x, mean)
mean(c(43, 32, 4, 42))
Wed, May 21, 14, w
y
43
51
32
4
2
42
5
42
x
1
2
1
1
2
2
2
1
tapply
tapply(y, x, mean)
mean(c(43, 32, 4, 42))
mean(c(51, 2, 42, 42))
Wed, May 21, 14, w
y
43
51
32
4
2
42
5
42
x
1
2
1
1
2
2
2
1
tapply
Not necessarily in
one data.frame!
tapply(y, x, mean)
mean(c(43, 32, 4, 42))
mean(c(51, 2, 42, 42))
Wed, May 21, 14, w
y
43
51
32
4
2
42
5
42
x
1
2
1
1
2
2
2
1
apply
6 4 7 6
apply(b, 3, sum)
5 4 7 10
1 4 5 7 4108 13
2 5 8 11
2 5 2 8 61111 2
4 6 53 2
sum
3 6 9 12
sum
sum
Wed, May 21, 14, w
apply
sum sum
sum
sum
6 4 7 6
apply(b, 2:3, sum
5 4 7 10
1 4 5 7 4108 13
2 5 8 11
2 5 2 8 61111 2
4 6 53 2
3 6 9 12
sum
Wed, May 21, 14, w
sum
sum
sum
sum sum
sum sum