2016-11-03 12 views
-1

Rでベクトルがあります。rで1つのデータを削除する方法

x <- c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0) 

xベクトルで "0"だけを削除したいが、このベクトルのすべての「0」を削除する。 例このベクトルで

x=x[!x %in% 0)] 

すべてのゼロは、Python

、例えばXベクトルに
x = [0,1,0,1,0,0,0,1] 
x.remove(0) 
x 
[1, 0, 1, 0, 0, 0, 1] 
x.remove(0) 
x 
[1, 1, 0, 0, 0, 1] 
+0

1)エクステンションあなたの期待されている出力は何でしょうか?(2)あなたの期待される出力は何ですか? – vagabond

+0

希望の結果は何ですか? – SparkAndShine

+0

ありがとうございます。私はプロジェクトで自分のコードをコピーし、この質問のために短い変数を編集します。ここのこのコードは間違っています。あなたの提案をありがとう。 –

答えて

3

我々は、特定の数

x <- c(1, 0, 1, 0, 0, 0, 1) 
x[-match(1, x)] 

#[1] 0 1 0 0 0 1 

の最初の発生を削除するためにmatchを使用することができます配列で削除します。たとえば、以下の場合は5です。

x <- c(1, 0, 5, 5, 0, 0, 1) 
x[-match(5, x)] 
#[1] 1 0 5 0 0 1 
+1

あなたの提案をありがとう。できます。 –

0

を削除していたあなたは、インデックスを決定which.min()

が必要な場合がありますベクトルの最初の最小値:

x <- c(0,1,0,1,0,0,0,1) 
x <- x[-which.min(x)] 
x 
# [1] 1 0 1 0 0 0 1 

あなたのベクトルが0または1以外の要素が含まれている場合:あなたが他の番号を持っている場合はx <- x[-which.min(x != 0)]

関連する問題