Comment savoir une dimension de la matrice ou du vecteur dans la R?
Je veux trouver la fonction dans R qui fait la même chose que la fonction size
dans Matlab.
Dans Matlab, si A = [ 1 2 3 4 5]
, puis size(A) = 1 5
.
Si A =[ 1 2 3;4 5 6]
, puis size(A) = 3 3
.
Dans R, j'ai trouvé que la fonction dim
donne la taille d'une matrice, mais il ne s'applique pas aux vecteurs.
Merci de m'aider à résoudre ce problème.
Merci beaucoup.
- utilisation
length
vecteur,length(A)
donnera la taille d'un vecteur dans la R - Je sais mais A est n'importe quel objet peut être un vecteur, cela peut être une matrice, il dépend de unkown d'entrée
- Voici un couple de utile feuilles de triche pour R les utilisateurs venant de MATLAB, qui montrent les commandes équivalentes: R pour MATLAB utilisateurs // MATLAB/R Référence
- Si
A =[ 1 2 3;4 5 6]
puissize(A) = 2 3
.
Vous devez vous connecter pour publier un commentaire.
Comme vous l'avez remarqué
dim
ne fonctionne pas sur les vecteurs. Vous pouvez utiliser cette fonction qui va prendre un nombre quelconque de vecteurs, les matrices, les données.des cadres ou des listes et trouver leurdimension
oulength
:Essayer
dim(A)
elle est égale à Matlab taille(A) la fonctiondim
ne fonctionne pas pour [unique-dimensions] vecteurs.Si vous ne savez pas si la classe de la variable
A
est "matrice" ou pas, alors essayez:Cela devrait fonctionner pour votre cas.
if (is.array(A) | is.data.frame(A))
. Ou vous pourriez utiliserifelse(is.null(dim(A)), length(A), dim(A))
, qui sera de retour s'estompe si il y en a, ou bien de retourner le nombre de (de haut niveau) des éléments.ifelse
renvoie une valeur de la même forme (longueur) comme le test.is.null
est une logique unique, de sorte qu'il sera de retour qu'une seule valeur dansdim
où vous vous attendez au moins deux. C'est pourquoi ma réponse est structuré de la façon dont il est.Vecteurs sont des grandeurs sans dimension dans R, ils ont une longueur.
Si l'on veut considérer un vecteur comme un coté de l'objet (et plus tard de travail sur les vecteurs), il/elle doit utiliser
t()
(transpose) (cette essence en fait 1-dimension tableau).Réponse tardive, mais note que
NROW
etNCOL
donner les dimensions à la fois des vecteurs et des matrices de données.les cadres. Ainsi, par exemple: