Je fais une fonction d'aide pour ce projet sur lequel je travaille, dans lequel je dois faire des percentiles à partir d'un ensemble de données.Distinguer un vecteur d'une matrice dans R
Dans certains cas, je vais être un percentile d'un vecteur d'entrées, ce qui est assez facile. Dans d'autres cas, je vais mettre des entrées dans une matrice.
Les processus sont similaires mais différents. J'aimerais pouvoir distinguer ce qui est donné comme une entrée (que ce soit un vecteur ou une matrice), donc je sais quelle opération est appropriée. Je pensais à faire quelque chose avec les dimensions de l'entrée. Mais dim(*vector*) = NULL
, mais dim(matrix(1:15, 1,15)) = c(1,15)
même si cela est discutable d'être un vecteur. Je ne peux pas utiliser ma première idée de
if(length(dim(objects)) == 2){*A MATRIX*}
else{*A VECTOR*}
je considérais que je pouvais ajouter la condition de min(dim(objects)) > 1
pour tester une matrice, mais je pense qu'il ya probablement une meilleure option. (Et maintenant je suis là ...)
Des pensées?
vous pouvez probablement utiliser '? Is.vector' et'? Is.matrix'? – Arun
Cela a le même problème de 'is.matrix (matrix (1,1,2)) = TRUE' mais ses dimensions sont' c (1,2) 'donc techniquement c'est toujours un vecteur – jameselmore
alors peut-être:' est. vecteur (x) | min (dim (x))> 1'? – Arun