Какова цель использования функции unclass ()? и почему появляется ошибка "" индексы столбца должны быть не более 2, если положительные, а не 3,4,5,6,7,8,9,10 " - PullRequest
0 голосов
/ 01 мая 2018

Какова цель использования функции unclass () в r? Я не могу понять это правильно.
Можете ли вы демисифить это с помощью этого кода ниже?

unclass(tele%>%mutate(dec=ntile(rev_Range,n=10))%>%count(dec)%>%unname())[[2]]

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Позвольте мне попытаться объяснить использование 'unclass'

Предположим, у вас есть этот вектор цветов:

cores = c('blue','green','red')

И группа строк, сохраняемых как факторы, например:

val = c('setosa','setosa','virginica','versicolor','virginica','setosa')

val_fac = factor(val)

Если вы примените unclass к этой группе факторов, unclass преобразует факторы в их числа, например:

unclass(val_fac)

[1] 1 1 3 2 3 1
attr(,"levels")
[1] "setosa"     "versicolor" "virginica" 

С этими числами вы можете преобразовать коэффициенты в цвета, выполнив:

cores[unclass(val_fac)]

[1] "blue"  "blue"  "red"   "green" "red"   "blue" 

Надеюсь, это поможет вам,

С уважением,

Густаво

0 голосов
/ 01 мая 2018

Я получил ответ.

Поскольку приведенный выше оператор возвращает фрейм данных, и поскольку мы возвращаем фрейм данных в переменную, он выдаст ошибку «индексы столбцов должны быть не более 2, если положительные, а не 3,4,5,6,7,8, 9,10, поэтому нам нужно его отменить, чтобы преобразовать фрейм данных в список.

и так как список возврата unclass, поэтому нам нужно [[2]] получить доступ к значению возвращенного списка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...