Beispieldaten:Schleife innerhalb Zeichenfolge in r Ausgabeausdrücke mit vektorisiert Werten
> DF
A B C
1 11 22 88
2 11 22 47
3 2 30 21
4 3 30 21
> r
[1] "A==A[i] & B==B[i] " "A==A[i] & C==C[i] "
[3] "B==B[i] & C==C[i] " "A==A[i] & B==B[i] & C==C[i] "
ausgeführtem Code:
> output=list()
> for (j in r){
+ for (i in 1:nrow(DF)){
+
+ output[[j]][i]=j
+ }
+ }
> output
$`A==A[i] & B==B[i] `
[1] "A==A[i] & B==B[i] " "A==A[i] & B==B[i] " "A==A[i] & B==B[i] "
[4] "A==A[i] & B==B[i] "
$`A==A[i] & C==C[i] `
[1] "A==A[i] & C==C[i] " "A==A[i] & C==C[i] " "A==A[i] & C==C[i] "
[4] "A==A[i] & C==C[i] "
$`B==B[i] & C==C[i] `
[1] "B==B[i] & C==C[i] " "B==B[i] & C==C[i] " "B==B[i] & C==C[i] "
[4] "B==B[i] & C==C[i] "
$`A==A[i] & B==B[i] & C==C[i] `
[1] "A==A[i] & B==B[i] & C==C[i] " "A==A[i] & B==B[i] & C==C[i] "
[3] "A==A[i] & B==B[i] & C==C[i] " "A==A[i] & B==B[i] & C==C[i] "
> output=purrr::flatten_chr(output)
> output
[1] "A==A[i] & B==B[i] " "A==A[i] & B==B[i] "
[3] "A==A[i] & B==B[i] " "A==A[i] & B==B[i] "
[5] "A==A[i] & C==C[i] " "A==A[i] & C==C[i] "
[7] "A==A[i] & C==C[i] " "A==A[i] & C==C[i] "
[9] "B==B[i] & C==C[i] " "B==B[i] & C==C[i] "
[11] "B==B[i] & C==C[i] " "B==B[i] & C==C[i] "
[13] "A==A[i] & B==B[i] & C==C[i] " "A==A[i] & B==B[i] & C==C[i] "
[15] "A==A[i] & B==B[i] & C==C[i] " "A==A[i] & B==B[i] & C==C[i] "
Mein Ziel die gleiche Ausgabe mit den spezifischen Werten A [i] zu erhalten war , B [i] und C [i] von DF, das heißt, würde die endgültige Ausgabe der folgenden sein:
> output
[1] "A==11 & B==22 " "A==11 & B==22 "
[3] "A==2 & B==30 " "A==3 & B==30 "
[5] "A==11 & C==88 " "A==11 & C==47 "
[7] "A==2 & C==21 " "A==3 & C==21 "
[9] "B==22 & C==88 " "B==22 & C==47 "
[11] "B==30 & C==21 " "B==30 & C==21 "
[13] "A==11 & B==22 & C==88 " "A==11 & B==22 & C==47 "
[15] "A==2 & B==30 & C==21 " "A==3 & B==30 & C==21 "
ich wäre dankbar, wenn jemand hel könnte p mich mit dieser Angelegenheit.
Vielen Dank, Romain. Ich habe den Code ausgeführt, aber ich habe "Fehler in as_function (.f, ...): object 'f_name' nicht gefunden". Ich habe etwas falsch gemacht, denke ich. Kannst du mir den Weg zeigen, das zu lösen? – Citizen
Ich hätte wahrscheinlich 'rlang' auch laden sollen. Ich habe gerade 'library (rlang)' hinzugefügt. –
Vielen Dank, Romain. Es funktioniert sehr gut. Nun muss ich darüber nachdenken und daran arbeiten, dies mit einer beliebigen Anzahl von Spalten zu tun, d. H. Für jeden großen Datenrahmen, aber das wäre eine andere potentielle Frage. Ich habe Ihre Antwort als die beste richtige Antwort ausgewählt. Bitte lass es mich wissen, wenn ich etwas anderes machen muss. – Citizen