Ich versuche derzeit, Sequenzen zwischen Werten verschiedener Vektoren, die nicht die gleiche Länge haben, zu erstellen.Erstellen Sie Sequenz zwischen bestimmten Werten über zwei Vektoren
Vorstellen I haben die beiden folgenden Vektoren a und b:
a<-c(1, 8, 14, 34, 46, 55)
b<-c(3, 6, 12, 13, 18, 42, 49, 50, 57, 200)
Ich möchte einen dritten Vektor erzeugen, die die Sequenzen zwischen den Werten von a
und dem nächsthöchsten Wert von b
zeigt (hier: 1:3
als 1,2,3
; 8:12
als 8,9,10,11,12
; 14:18
als 14,15,16,17,18
und so weiter bis schließlich als 55,56,57
).
Die Verwendung von mapply
lieferte nicht die gewünschten Ergebnisse.
Hallo, ich habe eine späte zusätzliche Anfrage: der Code für 95% meiner Daten nur gut gearbeitet hat. In einigen Fällen (Eingabedaten derselben Struktur wie zuvor) führt der Code jedoch zu einem "Fehler in .Primitiv (": ") (Punkte [[1L]] [[26L]], Punkte [[2L]] [] [26L]]): NA/NaN Argument "Ausgabe. Ich kann nicht sehen warum. "NA/NaN Argument" scheint zu sagen, dass keine Daten zu verarbeiten sind, aber ich habe die vorherigen Schritte manuell überprüft. Hast du eine Erklärung dafür? – sant
@sant Könnten Sie überprüfen, ob die Fälle nur NA/NaN sind? Verwenden Sie in diesem Fall eine 'if/else'-Bedingung, um sich darum zu kümmern. – akrun
Ja, es gibt ganze Listen, die nicht funktionieren. Nehmen wir zum Beispiel a und b vom ersten Post: Ich führe zwei ähnlich strukturierte Listen, und das Ergebnis ist der NA/NaN-Fehler. Können Sie angeben, auf welche Weise Sie eine if/else-Bedingung einbeziehen? Vielen Dank! – sant