他の列の条件に応じて、他の列の値を使用してデータフレームにフィールドを追加しようとしています。複数の列を使った操作
df <- data.frame(condition= c("startBin>7 & startBin<=12 & endBin>25 & endBin<=30","(startBin<=7 | startBin>12) & (endBin<=25 | endBin>30)","(startBin>7 & startBin<=12) & (endBin<=25 | endBin>30)","(startBin<=7 | startBin>12) & endBin>25 & endBin<=30"),
startBin = c(1,1,1,1), endBin = c(26,26,26,26), exprTemp=c("One","Two","Three","Four"))
「条件」列の条件が満たされている場合は、値「1」の列「チェック」を作成します。チェックの値が条件が真である最後のレコードのための1であることを
df <- data.frame(condition= c("startBin>7 & startBin<=12 & endBin>25 & endBin<=30","(startBin<=7 | startBin>12) & (endBin<=25 | endBin>30)","(startBin>7 & startBin<=12) & (endBin<=25 | endBin>30)","(startBin<=7 | startBin>12) & endBin>25 & endBin<=30"),
startBin = c(1,1,1,1), endBin = c(26,26,26,26), exprTemp=c("One","Two","Three","Four"), check=c(0,0,0,1))
注:このように、私はのように更新データフレームをしたいです。
私は次のことを試してみました:
df$check <- eval(parse(text=paste0("ifelse(",df$condition,",1, '')",sep="")),df)
が、evalは最後の条件を評価するように、すべての行= 1小切手を返しました。
本当にあなたが達成しようとしているものは明らかではありません。 – Haboryme
詳細については – Gaurav
を更新しました。条件は各行ごとに異なります。私はこのスクリプトがモデルを推定するためにソフトウェアによって使用されるファイルを作成するので、文字列を使用しなければならないと思います。 – Gaurav