22

ROC曲線分析を実行したい非常に単純な配列があります。しかし、最初に、 command を使用してデータを Factor 型に強制しようとするとtable[1]<-factor(table[1])、エラーが発生します

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(table) の結果を以下に示します。

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 ...
4

1 に答える 1

31

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

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

ただし、両方の列が因子であるため、これは必要ない場合があります (str出力を参照してください)。

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

于 2013-02-08T14:31:58.790 に答える