2016-05-18 4 views
0

これは私に私の髪を引き裂く。私はこのようなデータフレームがあるとします。Rの空白文字を使ってサブセットを設定するには?

xx <- data.frame(A = c(1,2,3), B = c(4,5,6)) 
rownames(xx) <- c("p", "q", "r") 

これが与える:

A B 
p 1 4 
q 2 5 
r 3 6 

を私が試してみて、サブセットに使用され、空の文字(文字(0))につながることができますRコードを持っていますdf xx。私はゼロの文字を定義した場合:

z = character(0) 

をして、私は、サブセットxxを持つ:

subset(xx, rownames(xx) != z) 

私が取得:

[1] A B 
<0 rows> (or 0-length row.names) 

しかし、私が欲しいのは、完全な配列、XX、以来です空の行名はありません。この作品を作るために私がすると、空の文字列空の文字を変換する必要があります。

z <- "" 

Z <を使用して - 「」、私は背中全体DFを得るサブセットとき、私は何を期待しています。明示的にこれらの空の文字をすべて空の文字列にトラップして変換するのは面倒です。これを解決するには?

+0

空の文字は、以前のコードでは、いくつかの計算から現れます。通常、行名を表す文字でサブセット化されますが、コードではサブセット名として空の文字が渡されることがあります。 – Ernie

答えて

1

ではなく!=%in%を使用してみてください:

subset(xx, !(rownames(xx) %in% z)) 
+0

パーフェクト!空の文字と空の文字列の両方で動作します。ありがとう!! – Ernie

関連する問題