TP 2.4 2.5
E=array(c(1:8, rep(1,8),seq(0,1,len=8)), dim = c(2,4,3))
E[, , 1]
dim(E);length(E)
nrow(E);ncol(E)
B) H=array(1:12,c(2,3,2))
apply(H,1,mean)
apply(H,2,mean)
apply(H,3,mean)
apply(H,1,sum) [1] 144 156
apply(H,2,sum) [1] 84 100 116
apply(H,3,sum) [1] 114 186
apply(H,4,sum) [1] 78 222
1. Dans le premier cas, on calcule la moyenne de tous les éléments ligne par ligne. Les éléments de la ligne 1 sont tous les élements de la tranche supérieure horizontale du parallélépipède H (1,3,5,7,9,11) ; de la tranche inférieure pour la ligne 2 (2,4,6,8,10,12). Dans le deuxième cas, le calcul est effectué colonne par colonne, le vecteur résultat est donc de longueur
3 ; il contient la moyenne des éléments des 3 tranches verticales (gauche - [1,2,7,8], centre - [3,4,9,10] et droite - [5,6,11,12]). Dans le troisième cas, le calcul de moyenne est fait sur les 2 tranches verticales "avant" (1,2,3,4,5,6) et "arrière" (7,8,9,10,11,12).
En apparence ce sont des matrices dont les colonnes
peuvent être de modes différents: caractère,
numérique, logique,
x y fac
1 1 1 C
2 1 2 C
3 1 3 A
4 1 4 B
5 1 5 A
>L= LETTERS[1:3];
Cha
> #Les data frames
> #a)
> D=data.frame(x=1:5,y=rep(2,5),z=sample(3,5,repl=T),t=letters[1:5])
> D
x y z t
1 1 2 1 a
2 2 2 3 b
3 3 2 1 c
4 4 2 1 d
5 5 2 2 e
> #b)
> rownames(D)=LETTERS[1:5]
> D
x y z t
A 1 2 1 a
B 2 2 3 b
C 3 2 1 c
D 4 2 1 d
E 5 2 2 e
> #c)
> DD=cbind(D,sum=x+y,ind=z>2)
> DD
x y z t sum ind
A 1 2 1 a 3 FALSE
B 2 2 3 b 4 TRUE
C 3 2 1 c 5 FALSE
D 4 2 1 d 6 FALSE
E 5 2 2 e 7 FALSE
> #d)
> DD[-5,-1]
y z t sum ind
A 2 1 a 3 FALSE
B 2 3 b 4 TRUE
C 2 1 c 5 FALSE
D 2 1 d 6 FALSE
> #e)
> library()
> library(cluster)
> #f)
> data()
> #g)
> data(airquality)
> air=airquality
> air
Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
.........