2016-07-19 6 views
0

とのベクトルに数値とNA値を持つベクトルを変換します回帰。バイナリ値Iは、物流での使用のためにRでバイナリ変数と同じ新しいベクトルに負の値<code>(-inf,0]</code>と<code>0</code>から<code>NA</code>と、すべての正の値<code>(0,inf)</code>にベクトルを変換したい

より具体的には、私のデータセットmedは、med$Amount_totalで取り出すことができるベクトルを有するマトリックスからなる。このベクトルは、-10,000〜100,000の範囲の数値とNA値で構成されています。私はこれらを負、0およびNAの値の代わりに0を持つベクトルに変換し、glm(ロジスティック回帰モデル)で使用するためにすべての正の値を1に変換したいと思います。 。

例:あなたはこのように行うことができます

input <- c(50,NA,-4,32,0,0,12) 
desired_output <- c(1,0,0,1,0,0,1) 
+1

を試すことができますあなたのベクトルです。 – count

+0

こんにちは@Aliのいずれかの答えがあなたの鉛を解決する場合、あなたはそれが解決されたことを他の人が知るように "それを受け入れる"をクリックするかもしれません。ありがとう。 – agenis

答えて

1

a=c(50,NA,-4,32,0,0,12) 
(a>0 &!is.na(a)) + 0 

aは、あなたの入力ベクトルである括弧内のご希望の条件を組み合わせています。 TRUE/FALSEの論理ベクトルを作成します。ブール値のベクトルに変換するには、as.numericで数値に強制するか、ゼロを加算して同じ効果が得られます。 'X' `と|

#### [1] 1 0 0 1 0 0 1 
1

私たちはどのように` ifelse(X <= 0,0,1 is.na(X))について

as.integer(replace(v1, is.na(v1)|v1 < 0, 0)!=0) 

それとも

as.integer(!(is.na(v1) | v1 <= 0)) 
#[1] 1 0 0 1 0 0 1 
関連する問題