La Multiplication scalaire dans R
Je suis en train d'effectuer une simple multiplication scalaire dans R, mais je suis en cours d'exécution dans un peu d'un problème.
En algèbre linéaire, je voudrais faire ce qui suit:
Voici comment j'ai mis en place ce dans R:
A <- matrix(1:4, 2, byrow = TRUE)
c <- matrix(rep(3, 4), 2)
A * c
Ce produit de bons résultats, mais de créer la matrice scalaire c va être lourd quand il s'agit de matrices de grandes.
Est-il une meilleure façon de le faire?
Juste essayer
Parfait et simple. Si vous présentez cela comme une réponse, je vais heureux de l'accepter.
R ne scalaire multiplication par défaut. Il est en fait (très étrange) de la difficulté à faire la multiplication de matrice dans R. Pour cela, vous avez besoin d'un opérateur tel que
Merci pour le heads up sur l'opérateur. Serais-je raison de dire que
Oui, Exactement
A * 3
.Parfait et simple. Si vous présentez cela comme une réponse, je vais heureux de l'accepter.
R ne scalaire multiplication par défaut. Il est en fait (très étrange) de la difficulté à faire la multiplication de matrice dans R. Pour cela, vous avez besoin d'un opérateur tel que
%*%
Merci pour le heads up sur l'opérateur. Serais-je raison de dire que
*
va faire la multiplication par un élément et %*%
va faire une multiplication de matrice?Oui, Exactement
OriginalL'auteur | 2014-11-23
Vous devez vous connecter pour publier un commentaire.
Dans
R
la valeur par défaut est scalaire. Pour la multiplication matricielle utilisation%*%
.t
est de transposer et desolve
vous donnera l'inverse. Voici quelques exemples:Voici un lien: algèbre matricielle dans la R
t
etsolve
, je vais obtenir une certaine utilisation de ceux aussi bien.OriginalL'auteur Hans Roggeman
Utiliser la fonction
drop()
pour convertir une 1x1 variable de la matrice dans un "vrai" scalaire. Vous pouvez donc écriredrop(c)*A
et vous n'avez pas besoin de remplacerc
avec la valeur elle-même.OriginalL'auteur Andrew G