Comment remplir la matrice avec des nombres aléatoires dans R?
expand.grid(i=rexp(5,rate=0.1))
Il crée juste un col, mais est-il un moyen de multiplier facilement à 5 cols? Je veux dire le matlab-chemin-de-faire-des choses comme rand('exp', 0.1, 10,20)
(création d'une matrice de façon exponentielle-distribuée-aléatoire de nombres avec une moyenne de 0,1 taille 10x20), comment?
- ...pourquoi downvotes sur ce point? J'ai comme de simples questions stupides, on peut apprendre surprenant beaucoup d'eux idiomatique -- regardez combien de personnes sont en utilisant un peu de styles différents, c'est intéressant.
- Je n'ai pas downvote, mais la souris sur le texte inclut les mots "n'a pas montré un effort de recherche". Donc je suppose que quelqu'un pensait peut-être que même les plus élémentaires de la recherche aurait tourné la réponse à cette question. (Et à mon humble avis, il n'y a pas de différence significative dans le courant des réponses. J'envisage la suppression de la mine pour réduire l'encombrement.)
- Je suis d'accord -- difficile de voir comment quelqu'un a trouvé
expand.grid
avant de trouvermatrix
et, disons,rnorm
. Peut-être les OP auraient aidé en disant quelque chose comme "je ne peux pas trouver de la documentation sur la création d'une matrice" pour montrer où réside le vrai problème.
Vous devez vous connecter pour publier un commentaire.
Utiliser le la matrice fonction:
ETA: Si vous voulez le faire sans répéter les 200, vous pouvez définir une fonction pour le faire:
La
x
devient ainsi la variable muette dont vous parlez. Est-ce que vous cherchez?matrix(rexp(___, rate=10), ncol=20, nrow=10)
? Au cours de prototypage rapide, j'ai tendance à oublier les 200 choses-la prise de l'encombrement/débutant -style erreurs.matrix(rexp(matrix(nrow=2, ncol=3), rate=.1), nrow=2, ncol=3)
conserve la structure de telle sorte qu'au moins l'un pauvre et de prospective fonctionne, maintenant, d'une certaine façon àreuse
la logique? Regarder on a besoin de réutiliser la logique en deux endroits à l'extérieur/à l'intérieur et juste le faire fonctionner deux fois -- en prêt-construit la fonction de cette répétition ou certains XYZapply-hack?> rexp(matrix(nrow=2, ncol=3), rate=.1) [1] 11.806251 8.144781 2.776993 4.010121 2.150048 4.230967 > matrix(rexp(matrix(nrow=2, ncol=3), rate=.1), nrow=2, ncol=3) [,1] [,2] [,3] [1,] 22.7861890 11.98009 5.771602 [2,] 0.7222509 86.88183 6.027278
-- on donne la matrice d'aller chercher la sortie, tandis que l'autre comme une liste à la recherche de la sortie, la matrice de format de sortie est visuellement plus agréable, mais c'est le code-l'encombrement dû à la répétition.vous pouvez faire quelque chose comme:
Et bien sûr utiliser ce que jamais la distribution que vous voulez.
?matrix
vais vous dire beaucoup! etrexp
est la fonction de génération aléatoire de distribution exponentielle.rate
-- pourquoi il n'est pas de 0,1 en moyenne? Ok,-- with rate ‘rate’ (i.e., mean ‘1/rate’).
, c'est une partie dans le manuel n'a pas compris: est ce que cela veux dire $\mu=\frac{1}{taux}$? Oui, il dit beaucoup de choses, mais dans une manière obscure. Maintenant, revenons à cette réponse -- est-il une façon implicite de rm 200? Il est évident dans l'intention de la M -style façon de faire les choses. Je veux dire que ceMatrix(mean=0.1, dims=c(20,30), type=c('random', 'exp'))
?Utiliser ceci:
Voici une solution simple: