2012-07-19 2 views
1

Comment diviser un vecteur en deux, de sorte qu'il sélectionne un échantillon aléatoire pour chaque nouveau vecteur. Mais je veux toujours diviser en deux. Par exempleDiviser un vecteur en deux

x <- 1:10 
obj <- splitMyVector(x) 

obj$a 
> 5 3 9 7 10 
obj$b 
> 8 4 1 6 2 

Remarque: le but est de faire une demi-fiabilité.

Répondre

4
split(sample(x),letters[seq(length(x))%%2+1]) 
$a 
[1] 9 7 10 4 2 

$b 
[1] 6 1 8 3 5 
+1

Nice. Vous devez souligner que le calcul 'letters [...]' n'est pas strictement nécessaire si l'utilisateur va toujours utiliser 'a' et' b' pour ses facteurs. (Sauf si je ne fais pas attention aux détails ici :-() –

+0

Par curiosité, puis-je demander ce que fait le double opérateur '%%'? J'ai essayé Google pour cela mais je n'ai trouvé aucun résultat pertinent. – 719016

+0

@ 130490868091234 Il donne le reste de la division entière – James