Доступ к столбцу с 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 ...
Ответы
Ответ 1
Функция [
, примененная к кадру данных, возвращает фрейм данных (если используется только один аргумент). Если вы хотите получить доступ к одному столбцу и вернуть его в виде вектора, вместо этого вы должны использовать [[
.
table[1] <- factor(table[[1]])
Но это может быть необязательно, поскольку оба столбца являются факторами (см. вывод str
).
Кстати: table
не является хорошим именем для объекта, так как это также имя базовой функции R.