例データと出力式のRの文字列内:ループベクトル値
> 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] "
実行されるコード:
> 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] "
私の目標は、特定の値[I]と同じ出力を得ることでした、B [i]とC [i]はDFから、すなわち、最終的な出力は次のようになります。
> 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 "
誰かがHELことができれば、私は感謝されますこの事でp me。
ありがとう、ロメイン。コードを実行しましたが、 "as_function(.f、...)でエラーが発生しました:オブジェクト 'f_name'が見つかりません"。私は何か間違ったことをしたと思います。私にこれを解決する方法を教えてください。 – Citizen
おそらく、 'rlang'もロードしているはずです。今すぐ 'library(rlang)'を追加しました。 –
ありがとう、Romain。それはとてもうまくいく。さて、私は、任意の数の列、すなわち大きなデータフレームの入力に対してこれを行うことについて考える必要がありますが、これはもう一つの潜在的な問題です。私はあなたの答えを最良の正解として選んだ。私が他の何かをしなければならないかどうか私に教えてください。 – Citizen