Подтвердить что ты не робот

Доступ к столбцу с df [col] дает: Ошибка 'x' должна быть атомарной для 'sort.list'

У меня очень простой массив, на котором я хочу запустить анализ кривой ROC. Но во-первых, когда я пытаюсь принудительно вводить данные в тип фактора с помощью команды 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 (таблица) приведен ниже:

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

Ответ 1

Функция [, примененная к кадру данных, возвращает фрейм данных (если используется только один аргумент). Если вы хотите получить доступ к одному столбцу и вернуть его в виде вектора, вместо этого вы должны использовать [[.

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

Но это может быть необязательно, поскольку оба столбца являются факторами (см. вывод str).

Кстати: table не является хорошим именем для объекта, так как это также имя базовой функции R.