Je veux utiliser R en Python, tel que fourni par le module Rpy2. Je remarque que R a des opérations très pratiques []
Permettant d'extraire des colonnes ou des lignes spécifiques. Comment pourrais-je obtenir une telle fonction avec Python scripts?
Mon idée est de créer un vecteur R et d’ajouter les éléments souhaités dans ce vecteur de sorte que le dernier vecteur soit le même que celui de R. J’ai créé un seq()
, mais il semble qu’il ait un chiffre initial 1 Ainsi, le résultat final commencerait toujours par le chiffre 1, ce qui n'est pas ce que je veux. Alors, y a-t-il une meilleure façon de faire cela?
vec <- vector()
Voir aussi l'aide de vecteur
?vector
Je pré-alloue un vecteur avec
> (a <- rep(NA, 10))
[1] NA NA NA NA NA NA NA NA NA NA
Vous pouvez ensuite utiliser [] pour y insérer des valeurs.
Vous pouvez créer un vecteur vide comme
vec <- numeric(0)
Et ensuite ajouter des éléments en utilisant c ()
vec <- c(vec, 1:5)
Cependant, comme le dit romunov, il est bien préférable de pré-allouer un vecteur, puis de le peupler (ceci évite de réaffecter une nouvelle copie de votre vecteur à chaque fois que vous ajoutez des éléments).
Pour créer un vecteur vide, utilisez:
vec <- c();
Veuillez noter que je ne fais aucune hypothèse sur le type de vecteur dont vous avez besoin, par exemple. numérique.
Une fois le vecteur créé, vous pouvez y ajouter des éléments comme suit:
Par exemple, pour ajouter la valeur numérique 1:
vec <- c(vec, 1);
ou, pour ajouter une valeur de chaîne "a"
vec <- c(vec, "a");
J'ai aussi vu
x <- {}
Vous pouvez maintenant concaténer ou lier un vecteur de toute dimension à x
rbind(x, 1:10)
cbind(x, 1:10)
c(x, 10)
Comme l'a souligné Brani, le vecteur () est une solution, par ex.
newVector <- vector(mode = "numeric", length = 50)
renverra un vecteur nommé "newVector" avec 50 "0" comme valeurs initiales. Il est également assez courant d’ajouter simplement le nouveau scalaire à un vecteur existant pour obtenir un vecteur développé, par exemple.
aVector <- c(aVector, newScalar)
Dans rpy2, le moyen d'obtenir le même opérateur que "[" avec R est d'utiliser ".rx". Voir la documentation sur extraire avec rpy2
Pour créer des vecteurs, si vous savez vous débrouiller avec Python, il ne devrait y avoir aucun problème. Voir la documentation sur création de vecteurs