2013-02-08 3 views
22

ROC曲線解析を実行したい非常に単純な配列があります。私はコマンドtable[1]<-factor(table[1])を使用してファクタ・タイプにデータを強制しようとすると、しかし、最初に、データから私はエラーを取得df [col]で列にアクセスすると、 '' sort.list 'のエラー' x 'はアトミックでなければなりません。

Error in sort.list(y) : 'x' must be atomic for 'sort.list' 
Have you called 'sort' on a list? 

いくつかのサンプル行は

GRADE TRUE-GRADE 

benign Benign 
benign Benign 
benign Benign 
benign Benign 
benign Benign 
benign Benign 
benign Malignant 
benign Malignant 
indeterminate Benign 
indeterminate Benign 
indeterminate Benign 
indeterminate Benign 
indeterminate Benign 
indeterminate Benign 
indeterminate Benign 
indeterminate Benign 
indeterminate Benign 
indeterminate Benign 
indeterminate Benign 
indeterminate Benign 
indeterminate Benign 
indeterminate Malignant 
indeterminate Malignant 
indeterminate Malignant 
likely benign Benign 
likely benign Benign 
likely benign Benign 

の下に与えている誰かが私は何を教えてもらえます間違っている? STR(テーブル)の結果を以下に示す:

data.frame': 127 obs. of 2 variables: 
$ GRADE  : Factor w/ 5 levels "benign","indeterminate",..: 1 1 1 1 1 1 1 1 1 

$ BENIGN.MALIGN: Factor w/ 2 levels "Benign","Malignant": 1 1 1 1 1 1 1 1 1 1 ... 

答えて

31

機能[は、データフレームに適用される(一つだけの引数が使用される場合)データフレームを返します。単一の列にアクセスしてベクトルとして返す場合は、代わりに[[を使用する必要があります。

table[1] <- factor(table[[1]]) 

しかし、両方の列が因子(あなたstr出力を参照)であるため、これは必要ではないかもしれません。

ところで:tableは、基本的なR関数の名前でもあるので、オブジェクトには適していません。

+0

私はずっとベクトルを得るために 'as.vector(table [1])'を使っていました。なぜこれは 'table [[1]]'と同じ出力を生成しませんか? –

+0

@alexpmil 'unlist(table [1])'と連動します。 –

関連する問題