159 votes

Dois-je utiliser un data.frame ou une matrice ?

Quand doit-on utiliser un data.frame et quand est-il préférable d'utiliser un matrix ?

Les deux conservent les données dans un format rectangulaire, donc parfois ce n'est pas clair.

Existe-t-il des règles générales pour savoir quand utiliser tel ou tel type de données ?

0 votes

Souvent, une matrice peut être mieux adaptée à un type particulier de données, mais si le paquet que vous voulez utiliser pour analyser ladite matrice s'attend à un cadre de données, vous devrez toujours le convertir inutilement. Je pense qu'il n'y a aucun moyen d'éviter de se souvenir de quel paquet utilise quel paquet.

0voto

Trisquel Points 31

Les matrices et les cadres de données sont des tableaux rectangulaires en 2D et peuvent être hétérogène par lignes et colonnes . Ils partagent certaines méthodes et propriétés, mais pas toutes.

Exemples :

M <- list(3.14,TRUE,5L,c(2,3,5),"dog",1i)  # a list
dim(M) <- c(2,3)                           # set dimensions
print(M)                                   # print result

#      [,1]  [,2]      [,3]
# [1,] 3.14  5         "dog"
# [2,] TRUE  Numeric,3 0+1i

DF <- data.frame(M)                   # a data frame
print(DF)                             # print result

#      X1      X2   X3
#  1 3.14       5  dog
#  2 TRUE 2, 3, 5 0+1i

M <- matrix(c(1,1,1,1,2,3,1,3,6),3)   # a numeric matrix
DF <- data.frame(M)                   # a all numeric data frame

solve(M)                              # obtains inverse matrix
solve(DF)                             # obtains inverse matrix
det(M)                                # obtains determinant
det(DF)                               # error

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X