108 votes

Comment créer un vide de R vecteur pour ajouter de nouveaux éléments

Je veux utiliser R en Python, telles que fournies par le module Rpy2. Je remarque que R est très pratique [] les opérations par lesquelles vous pouvez extraire les colonnes ou des lignes, comment aurais-je pu réaliser une telle fonction par des scripts python? Mon idée est de créer un vecteur R et y ajouter des éléments demandés dans ce vecotr de sorte que le vecteur final est le même que celui de R. Comme je suis nouveau sur R, j'ai créer un seq(), mais il semble qu'il a un premier chiffre 1, de sorte que le résultat final serait toujours commencé avec le chiffre 1, qui n'est pas ce que je veux. Alors, est-il une meilleure façon de le faire? Merci!

103voto

Brani Points 1749
vec <- vector()

Voir aussi le vecteur de l'aide

?vector

70voto

Roman Luštrik Points 19295

Je l'ai pré-allouer un vecteur avec

> (a <- rep(NA, 10))
 [1] NA NA NA NA NA NA NA NA NA NA

Vous pouvez ensuite utiliser [] pour insérer des valeurs dans.

28voto

Aaron Statham Points 764

Vous pouvez créer un vecteur vide comme

vec <- numeric(0)

Puis ajouter des éléments à l'aide de c()

vec <- c(vec, 1:5)

Cependant, comme romunov dit, il est préférable de pré-allouer un vecteur, puis de le remplir (ce qui évite de réaffecter une nouvelle copie de votre vecteur à chaque fois que vous ajoutez des éléments)

11voto

Eldaw Points 31

Pour créer un vecteur vide utilisation:

vec <- c();

Veuillez noter que je ne fais pas d'hypothèse sur le type de vecteur dont vous avez besoin, par exemple numérique.

Une fois que le vecteur a été créé, vous pouvez ajouter des éléments comme suit:

Par exemple, pour ajouter de la valeur numérique 1:

vec <- c(vec, 1);

ou, pour ajouter une valeur de chaîne "a"

vec <- c(vec, "a");

7voto

JoFrhwld Points 4142

J'ai aussi vu

x <- {}

Maintenant, vous pouvez concaténer ou lier un vecteur de dimension à l' x

rbind(x, 1:10)
cbind(x, 1:10)
c(x, 10)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X