2017-09-23 11 views
0

私は特定の細菌を表す5つの文字変数からなるデータフレームを持っています。私は、すべての文字で始まる各変数の観測値の数千を持っているK.例えばデータフレームの単一列から一意の値を選択する

x <- c(K0001,K0001,K0003,K0006) 
    y <- c(K0001,K0001,K0002,K0003) 
    z <- c(K0001,K0002,K0007,K0008) 
    r <- c(K0001,K0001,K0001,K0001) 
    o <- c(K0003,K0009,K0009,K0009) 

私は残りの4つの列のいずれにも表示されません。最初の列にユニークな観測を識別する必要があります。私は...

How to tell what is in one vector and not another?

を私はselectを使用して、個々のベクトルを作成することができれば仕事だと思うここで提案のアプローチを試みたが、している私が...コードを使用して、分析のためのベクトルを作成しようとすると

x <- select(data$x) 

私はUseMethodでエラー

エラー( "SELECT_")を取得しない: に 'SELECT_' の該当メソッドは、クラスのオブジェクトに適用される「文字

私はas.factorとas.numericを使ってベクトルを変更しようとしましたが、これらのアプローチのどちらも最初のものと同じエラーがあり、as.numericはNAを返します。事前

+0

これはこれですか? 'data $ x [!data $ x%in%unlist(data [-1])]'となります。注:私は 'stringAsFactors = FALSE'引数を使って' data.frame'を作成しました。 –

答えて

1

おかげであなたはsetdiffを使用して、推奨引用文献。このソリューションを適用するために必要なのは、4つの列を1つの列に変換して、1つの集合として扱うことだけです。あなたはそれを行うことができますunlist

setdiff(data$x, unlist(data[,2:5])) 
"K0006" 
関連する問題