Type de données entier vs type de données numériqueJ'ai une matrice de colonnes, appelée "a", avec x lignes. J'essaie de créer une matrice remplie de 1 qui a le même nombre x lignes.
Quand je dis newmat = [](N Rows(a), 2), j'obtiens l'erreur "Entier attendu pour le nombre de lignes" lorsque j'essaie de créer la matrice.
Type(3), et tout autre argument entier, renverra "Integer" mais Type(N Rows(a)) renvoie "Number". J'ai essayé de définir les x lignes sur un nom de variable et d'essayer cela, mais j'obtiens la même erreur. Existe-t-il un autre moyen de procéder ? Je n'ai pas trouvé de moyen de convertir un type Number en type Integer sur les cartes ou dans la documentation.
Re : type de données entier vs type de données numériqueSalut @ stylo51 ,
@uday_guntupalli est correct que J() est exactement la bonne fonction pour cela.Pour comprendre la raison pour laquelle JMP vous crie dessus, c'est que certaines fonctions JMP n'aiment pas prendre les noms de variables comme arguments.Si nécessaire, vous pouvez résoudre ce genre de problèmes avec une séquence d'insertion eval-parse-eval comme ceci :
eval(parse(eval insert("newmat = [](^N Rows(a)^, 2)")));Veuillez utiliser la solution d'Uday, mais cette astuce peut vous aider plus tard lorsque vous rencontrerez une situation similaire.
Re : type de données entier vs type de données numériqueVoici quelques façons de créer la matrice que vous recherchez
clear symbols();
a=[1 ,2 ,3];
b=j(n rows(a),1,1)
// or
b=a;
b[1::n rows(a)]=1;
Re : type de données entier vs type de données numérique@ stylo51
a = Random Index(100,10);
NewMat = J(N Rows(a),1,1); // Use the J() to do this
L'exemple ci-dessus a fonctionné pour moi