x1 x2 x3 x11 x12 x13 x22 x23 x33
1 5 9 1 5 9 25 45 81
2 6 10 4 12 20 36 60 100
3 7 11 9 21 33 49 77 121
4 8 12 16 32 48 64 96 144
Lorsque x1
, x2
et sont donnés, je voudrais créer un cadre de matrice ou des données x11, x12, x13, x22, x23
et x33
qui sont produit élément par élément de vecteurs x1, x2
et .Créer produit élément par élément de colonnes de la matrice
En fait, je voudrais à cela pour plus de vecteurs (par exemple x1 ~ x6
) en ordre élevé (3ème ou 4ème). Y at-il une commande R qui peut faire cela?
'm [, t (col (m)) [inférieur.tri (t (col (m)), diag = VRAI)]] * m [, rep (1: ncol (m), ncol (m) : 1)] '(je suis sûr que la première partie de la multiplication peut être simplifiée) – user2957945
@ user2957945 Ceci est inspiré par ma réponse déjà postée. Même 'm [, rep (1: ncol (m), ncol (m): 1)]' est exactement le même. Si vous avez quelque chose de nouveau, alors allez-y! – 989
@ 989; en fait ce n'était pas. C'était une tentative de le faire sans utiliser de boucle (c.-à-d. Générer la séquence c (1,2,3,2,3,3) mais plus généralement, il est possible de construire sur d'autres réponses si elles peuvent être améliorées - n'est pas une compétition. (Si j'étais intéressé par des points je le mettrais dans la section réponse) – user2957945