である私は、データセットにこのようなものがあります:サブセットのデータフレーム、そのうちの一つは、正規表現
col_a col_b col_c
1 abc_boy 1
2 abc_boy 2
1 abc_girl 1
2 abc_girl 2
を私はcol_b
とcol_c
に基づいて最初の行をピックアップして、変更する必要がありますこのようなものであるcol_c
でvalye、:最初の条件と第二の基準は由来しないので
df[grep("_boy$",df[,"col_b"]) & df[,"col_c"]=="1","col_c"] <- "yes"
しかし、上記のコードは、OKではありません同じセット。
私は明示的なループを使用してダムの方法でそれを行う、または「二層」サブセット化を行うことができ、このような何か:
df.a <- df[grep("_boy$",df[,"col_b"]),] #1
df.b <- df[grep("_boy$",df[,"col_b"],invert=TRUE),] #2
df.a <- df.a[df.a[,"col_c"]=="1","col_c"] <- "yes" #3
df.a <- df.a[df.a[,"col_c"]=="2","col_c"] <- "no" #4
df <- rbind(df.a,df.b) #5
しかし、私は、誰がどのように私を啓発することができますしたくありません「マージ」する#1
と#3
?ありがとう。
サンプル入力と一緒にサンプルを出力してください。あなたがしようとしていることははっきりしていません。 –