0% ont trouvé ce document utile (0 vote)
5 vues11 pages

Manipulations de matrices en R

Transféré par

tresorbanga131
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues11 pages

Manipulations de matrices en R

Transféré par

tresorbanga131
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

#Definir l'environnement de travail.

setwd([Link]())
#verification de l'environnement de travail
MWgetwd()
#manipulation des vecteurs
v1=c(1,2,0)
v1
v2=c(10,12,14,15,12,10,0,9)
v2
A=matrix(c(1,2,3,5,6,7),nrow=2,ncol=3,byrow=TRUE)
A
B=matrix(c(1,2,3,5,6,7),nrow=2,ncol=3,byrow=FALSE)
#addition des matrices
C=A+B
C
#Transposer une matrice
tB=t(B)
tB
#produit matriciel
P=A%*%tB
P
#INVERSION D'UNE MATRICE
#une matrice est inversible lorsque son determinant est
different de 0
#determinant d'une matrice
det(P)#LE DETERMINANT ETANT 80 donc LA MATRICE EST
INVERSIBLE
W=solve(P)
W
#resolution d'un systeme lineaire
X=matrix(c(1,1,2,-1),nrow=2,ncol=2,byrow=TRUE)
X
det(X)
Z=solve(X)
Z
K=c(1,1)
K
L=Z%*%K
L
2/3
1/3
###3##3######################TP1 EX03
#E1
A=matrix(c(23,34,31,46),ncol=2)
#2
det(A)
B=solve(A)
B
#3
C=A%*%B
C
#4
B=matrix(c(3,4,2,1,3,2,1,2,1),nrow=3,ncol=3,byrow=TRUE)
B
#PRODUIT MATRICIEL
D=B%*%solve(B)
D
#5
E=matrix(c(23,31,34,46),nrow=2,ncol=2,byrow=TRUE)
E
det(E)
F=solve(E)
F
H=c(1,2)
H
M=F%*%H
M
#6
M=solve(E,H)
M
####################################EXO 1
sexe=c("M","F","F","F")
TAILLE=c(182,165,159,171)
POIDS=c(164,115,140,147)
d=[Link](sexe,TAILLE,POIDS)
d
View(d)
TAILLE=TAILLE*0.01
TAILLE
a=(1/2.205)
a
POIDS=POIDS*a
POIDS
Poids=round(POIDS,2)
Poids
d=[Link](sexe,TAILLE,Poids)
View(d)
max(TAILLE)
min(TAILLE)
mean(TAILLE)
sd(TAILLE)
max(Poids)
min(Poids)
mean(Poids)
sd(Poids)
t=TAILLE*TAILLE
t
imc=Poids/t
imc
imc=round(imc,2)
imc
d=[Link](sexe,TAILLE,Poids,imc)
View(d)
###############################################
arbre=c(1,2,3,6,6,0,2,3,5,3,4,4)
arbre
#trier par ordre croissant
sort(arbre)
#effectifs d'une base de donnée
length(arbre)
#afficher les valeurs sans les doublants (modalité)
unique(arbre)
#affichage des effectifs
table(arbre)
#nuage des point
plot(arbre)

#correction du DST n1
#Exercice n1
#1. spécifier l'environnement de travaille
setwd([Link]())
#[Link] le repertoire de travail
getwd()
#[Link] en deux etapes les methodes permettanat de creer
le data frame
Equipe = c("Washington", "Dallas", "Chicago", "LOs
Angeles", "St-Louis", "Détroit", "Montréal", "Boston")
MJ = c(55, 56, 57, 58, 56, 57, 56, 57)
V = c(36, 32, 30, 30, 25, 25, 22, 24)
D = c(16, 19, 21, 22, 19, 21, 27, 31)
DP = c(3, 5, 6, 6, 12, 11, 7, 2)
PTS = c(75, 69, 66, 66, 62, 61, 61, 50)
#creation de la base de donnée avec un data frame
NBA = [Link](Equipe, MJ, V, D, DP, PTS)
#deuxième méthode
NBA = matrix(c(55, 56, 57, 58, 56, 57, 56, 57, 36, 32, 30,
30, 25, 25, 22, 24, 16, 19, 21, 22, 19, 21, 27, 31, 3, 5,
6, 6, 12, 11, 7, 2, 75, 69, 66, 66, 62,61, 51, 50), ncol =
5,nrow = 8, byrow = FALSE)
rownames(NBA) = c("Washington", "Dallas", "Chicago", "LOs
Angeles", "St-Louis", "Détroit", "Montréal", "Boston")
colnames(NBA) = c("MJ", "V", "D", "DP", "PTS")
#.4 utilisation de la commande View
View(NBA)
#5.a-nombre d'équipe
nrow(NBA)
#b-nombre de variable
ncol(NBA)
#6.a-fiche complete de l'équipe de Dallas
NBA[2,]
#6.a-2eme methode
NBA[NBA$Equipe=="Dallas", ]
#6.b-fiche complete de l'equipe à la 7em position
NBA[7,]
#[Link] du min(), max(), mean() et de l'étendu
min(PTS)
max(PTS)
mean(PTS)
etendu = max(PTS)-min(PTS)
couleur = c("green", "yellow", "black", "blue", "gray",
"orange", "red", "purple")
barplot(PTS, [Link] = Equipe, col = couleur, xlab =
"Equipe", ylab ="Points des equipes")
#affichage du classement
text(x = 1:length(Equipe), y = PTS + 1)
#exercice2
#1. entrer les données sous forme d'un vecteur
arbres = c(1, 2, 4, 1, 6, 3, 2, 1, 2, 0, 1, 2, 2, 1, 3, 0,
3, 2, 1, 2, 2, 3, 2, 3)
arbres
#[Link] les valeurs par ordre croissant
sort(arbres)
#[Link] taille de l'echantillon(effectif total)
N = length(arbres)
N
#[Link] les differentes modalité
unique(arbres)
#[Link] qui permet d'afficher l'effectif des modalité
effectif = table(arbres)
effectif
#[Link] des tableaux des frequences en pourcentage
frequence = (effectif/N)*100
frequence
round(frequence,2)
#7nombre total d'arbre planté dans les n parcelles
sum(arbres)
#exercice 3
X = matrix(c(1/4, 1, 3/4, 1/2, 1, 3/2, 1, 1, 1), ncol = 3,
byrow = FALSE)
X
det(X)
#[Link] de a, b et c
r = c(7, 4, 5)
r
solve(X, r)
#partie B
A = matrix(c(1, 5, -2, 1, 2, -1, 3, 6, -3), ncol = 3, byrow
= FALSE)
A
#[Link] si la matrice est nipotente
A%*%A
A%*%A%*%A
# donc f est nipotente d'odre 3
#2. verifier si A est inversible
det(A)
#donc la matrice n'est pas inversible
#[Link] de l'indice de masse corporelle
Poids = c(95, 68, 85, 72, 55, 86, 115)
Taille = c(189, 169, 179, 167, 171, 178, 179)/100
Taille
#calcul de l'IMC
IMC = Poids/(Taille*Taille)
IMC
IMC = round(IMC, 2)
IMC
nom = c("john", "Lilly", "Stef", "Bob", "Anna", "Marick",
"Boris")
nom
data = [Link](nom, Poids, Taille, IMC)
View(data)

#Definir l'environnement de travail.


setwd([Link]())
#verification de l'environnement de travail
MWgetwd()
#manipulation des vecteurs
v1=c(1,2,0)
v1
v2=c(10,12,14,15,12,10,0,9)
v2
A=matrix(c(1,2,3,5,6,7),nrow=2,ncol=3,byrow=TRUE)
A
B=matrix(c(1,2,3,5,6,7),nrow=2,ncol=3,byrow=FALSE)
#addition des matrices
C=A+B
C
#Transposer une matrice
tB=t(B)
tB
#produit matriciel
P=A%*%tB
P
#INVERSION D'UNE MATRICE
#une matrice est inversible lorsque son determinant est
different de 0
#determinant d'une matrice
det(P)#LE DETERMINANT ETANT 80 donc LA MATRICE EST
INVERSIBLE
W=solve(P)
W
#resolution d'un systeme lineaire
X=matrix(c(1,1,2,-1),nrow=2,ncol=2,byrow=TRUE)
X
det(X)
Z=solve(X)
Z
K=c(1,1)
K
L=Z%*%K
L
2/3
1/3
###3##3######################TP1 EX03
#E1
A=matrix(c(23,34,31,46),ncol=2)
#2
det(A)
B=solve(A)
B
#3
C=A%*%B
C
#4
B=matrix(c(3,4,2,1,3,2,1,2,1),nrow=3,ncol=3,byrow=TRUE)
B
#PRODUIT MATRICIEL
D=B%*%solve(B)
D
#5
E=matrix(c(23,31,34,46),nrow=2,ncol=2,byrow=TRUE)
E
det(E)
F=solve(E)
F
H=c(1,2)
H
M=F%*%H
M
#6
M=solve(E,H)
M
####################################EXO 1
sexe=c("M","F","F","F")
TAILLE=c(182,165,159,171)
POIDS=c(164,115,140,147)
d=[Link](sexe,TAILLE,POIDS)
d
View(d)
TAILLE=TAILLE*0.01
TAILLE
a=(1/2.205)
a
POIDS=POIDS*a
POIDS
Poids=round(POIDS,2)
Poids
d=[Link](sexe,TAILLE,Poids)
View(d)
max(TAILLE)
min(TAILLE)
mean(TAILLE)
sd(TAILLE)
max(Poids)
min(Poids)
mean(Poids)
sd(Poids)
t=TAILLE*TAILLE
t
imc=Poids/t
imc
imc=round(imc,2)
imc
d=[Link](sexe,TAILLE,Poids,imc)
View(d)
###############################################
arbre=c(1,2,3,6,6,0,2,3,5,3,4,4)
arbre
#trier par ordre croissant
sort(arbre)
#effectifs d'une base de donnée
length(arbre)
#afficher les valeurs sans les doublants (modalité)
unique(arbre)
#affichage des effectifs
table(arbre)
#nuage des point
plot(arbre)

#exercice
tab = matrix(c(592, 544, 119, 97, 849, 677, 504, 451, 36,
14), ncol = 5, byrow = FALSE)
tab
rownames(tab) = c("Garçon", "Fille")
colnames(tab) = c("Blond", "Roux", "Châtain", "Brun",
"Noir")
tab
tab[ ,1]
[Link](tab)
[Link](tab)
tab[ ,1]
tab[ ,1]
#juste les garçons
tab[1 ,c(1, 2)]
#les colonnes 1, 2, 4
tab[, c(1, 2, 4)]
v1 = tab[1, c(2, 4)]
v2 = tab[, c(2, 3)]
v2
3#la commande [Link](): somme
#total des lignes
[Link](tab,1)
#total des colonnes
[Link](tab,2)
#virtualisation
#a) preparer l'interface graphique pour avoir deux
graphyques
par(mfrow = c(1, 2))
#titre à un graphique
barplot(tab[1, ], main = "Garçons", ylab = "effectif", col
= 1:5)
barplot(tab[2,], main = "Filles", ylab = "effectif", col =
c("green", "yellow", "black", "blue", "gray"))
#construction de la courbe
plot(density(tab[1,]), col="red")
lines(density(tab[2,]), col = "blue")
#autre manière de présenter les données.
mosaicplot(tab, col = 1:5)
#afficher les pourcentage de ligne
[Link](tab, margin = 1)*100
round([Link](tab, margin = 1)*100, 2)
#afficher les pourcentage de colonne
[Link](tab, margin = 2)*100
round([Link](tab, margin = 2)*100, 2)
## teste d'independnce test du Knideux
# en statistique on est parfois ammener à étudier le lien
entre deux variables.
#exemple: on peut par exemple étudier le lien entre le
milieu de residence(ville, village) et les perfotmances
academiques(moyenne). dans cet exemple on veux connaitre si
la moyenne de l'étudiant depend du milieu de residence.
#en statistique pour répondre à cette question on fait un
test d'hypothèse. lorsque les deux variables à étudiant
sont toutes qualitatives on fait un test du khideux avec
les hypothèses suivant H0: les deux variables sont
independants, H1: les deux variables sont liées
#calcul du K2
[Link](tab)
#critère de decision
#si pvaleur (p-value > 0,05 ) on accepte H0
# si pvaleur (p-value < 0,05 ) on accepte H1
#[Link] = 0.033 < 0,05 donc on accepte H1
[Link]()
setwd([Link]())
data = [Link]([Link](), header = T, sep = ";")
data
View(data)
getwd()

#1-Ecrire la commande R qui vous permettra de changer le


répertoire de travail.
setwd([Link]())
#2. Importer les données dans l’objet data
setwd([Link]())
data = [Link]([Link](), header = T, sep = ";")
#3. Vérifier que le fichier est bien importé dans R
View(data)
#4-Afficher toutes les variables de la base de données.
ncol(data)
#5. La base de données contient combien d’observation ?
nrow(data)
str(data)
#verifier si la base de données a été bien reporté "affiche
les 6 premiers lignes"
head(data)
#afficher que les deux premiers lignes
head(data,2)
#6. Afficher le nombre de personne ayant plus de 4 enfants
table(data$[Link]>4)
#ne tient pas en compte les données manquants
max(data$[Link],[Link]=TRUE)
min(data$[Link],[Link]=TRUE)
#Créer une variable [Link] qui va regrouper les
individus ayant de 0 à 5 enfants et plus.
#pour faire un recodage il faut transformer la variable à
recodé
#étape1: on cree la nouvelle variable à partir de
l'ancien("ISSEA-CEMAC")"factor permet de transformer une
variable numerique en vriable catégorielle
data$[Link] = factor(data$[Link])
#pour donner le niveau d'affectation on utilise level
levels(data$[Link])
#de 6 à 13
levels(data$[Link])[6:13]="6 et +"
#afficher le nombre de personne en fonction du nombre
d'enfant
table(data$[Link])
[Link](data$[Link])
#les frequences
round((table(data$[Link])/799)*100, 2)

Vous aimerez peut-être aussi