Ersetze bestimmte Werte im Vektor mit verschiedenen Mustern von einem anderen Vektor

8

Ich habe einen Vektor "a" mit ganzzahligen Werten, von denen einige aufgrund anderer laufender Teile des Codes 0 werden können. Ich möchte die Vorkommen von 0 in diesem Vektor durch eine zufällige Probe von einem anderen Vektor "b" ersetzen, den ich habe. Wenn es jedoch mehrere 0 Werte in "a" gibt, möchte ich sie zu allen verschiedenen Samples von "b". Also zum Beispiel:

%Vor%

Ich möchte, dass die letzten drei 0-Werte von "a" durch zufällige Werte in "b" ersetzt werden, aber ich möchte vermeiden, dass 1, 2 oder 3 verwendet werden. Diese sind bereits in einem.

Momentan verwende ich eine while-Schleife, also:

%Vor%

Gibt es einen besseren Weg, dies zu tun? Es sieht so aus, als würde diese doppelte While-Schleife sehr lange dauern.

    
user5811685 19.01.2016, 17:10
quelle

1 Antwort

8

Sie könnten etwas wie das Folgende tun

%Vor%

Wir haben replace = TRUE nicht angegeben, damit sich die neuen Werte immer unterscheiden.

    
David Arenburg 19.01.2016 17:13
quelle

Tags und Links