2017-02-24 10 views
0

私はベクトルc(2, 5)を持っています。これをn要素のベクトルに変換したいと思います。位置2と5は1に等しく、残りの位置はゼロに等しくなります。位置ベクトルを使用してバイナリ文字列を作成する方法は?

私は長さ6のベクトルを作成したい場合、すなわち、私は以下のベクトルを生成するベクトルc(2, 5)を使用するとよいでしょう:

c(0, 1, 0, 0, 1, 0)

答えて

5

どの程度

x <- c(2, 5) 
n <- 6 
replace(integer(n), x, 1L) 
# [1] 0 1 0 0 1 0 

そして、別のオプションをis

as.integer(1:n %in% x) 
# [1] 0 1 0 0 1 0 
+0

これはまさに私が見たものですありがとう、ありがとう! – TurtleFace

+0

私は 'switch'と' ifelse'でずっと長い間働いたことに驚いていますし、私のR-学習に入るまでは 'replace'と' recode'にさらされていません。 'ifelse'とは​​対照的に' got'を 'replace'で知っていますか? (彼らは完全に互換性があるわけではありません。) – r2evans

+0

@ r2evans - 私はまだ何も走っていません。それは本当に単純な置換関数です(ソースを参照してください)、リスト上でも機能します。 –

関連する問題