0
データフレームは、負でない整数からなるRで構成されています。私は0または1ように、データフレーム内の各値を変換したい:x => x > 0 ? 1 : 0
データフレーム内の各値を0または1にマップする方法
私はapply()
方法に遭遇しましたが、これは、入力として行全体/ COLを取るように見えます。個々のデータポイントを新しい値にマッピングする方法はありますか?
データフレームは、負でない整数からなるRで構成されています。私は0または1ように、データフレーム内の各値を変換したい:x => x > 0 ? 1 : 0
データフレーム内の各値を0または1にマップする方法
私はapply()
方法に遭遇しましたが、これは、入力として行全体/ COLを取るように見えます。個々のデータポイントを新しい値にマッピングする方法はありますか?
ifelseは三項演算子と同様に使用できます。ここ
は一例であり:
x <- c(1,2,3,4,0)
x <- ifelse(x > 0 , 1 , 0)
x
[1] 1 1 1 1 0
別の例として、データフレームについて:
df <- data.frame(A=c(0,0,0,1,2,3), B=c(0,10,20,30,40,0))
> df
A B
1 0 0
2 0 10
3 0 20
4 1 30
5 2 40
6 3 0
modified_df <- data.frame(A = ifelse(df$A > 0 , 1 , 0) , B = ifelse(df$B > 0 , 1 , 0))
> modified_df
A B
1 0 0
2 0 1
3 0 1
4 1 1
5 1 1
6 1 0
'DF [] < - as.numeric(DF> 0)'。 – Psidom
残念ながら、Rには三項演算子がなく、 'as.integer(x> 0)'を実行するだけです(TRUE/FALSEは1/0に強制されるため)。 – Frank
@Psidom @Frankありがとう!私はRには新しく、LHSで 'df'の代わりに' df [] 'を使わなければならない理由を説明できますか?また、 'as.numeric()'と 'as.integer()'の違いは何ですか? – fvgs