Когда использовать as.numeri c и as.factor в R - PullRequest
0 голосов
/ 17 февраля 2020

Я не понимаю разницу между as.numeri c и as.factor в R. Когда я хочу использовать каждый из них?

Пример кода:

data2$Response <- as.factor(data2$Response)
data2$VOT <- as.factor(data2$VOT)
data2$Block <- as.factor(data2$Block)

Что именно это будет делать?

1 Ответ

2 голосов
/ 17 февраля 2020

Коэффициенты (с as.factor) - это переменные, которые имеют дискретные значения, которые могут быть или не быть упорядоченными. В других областях науки за пределами R их часто называют категориальными ценностями. Например, северо-юго-восток и запад могут быть факторами.

Числа (с as.numeric) - это числа с бесконечными другими числами между ними. Так, например, 5 - это число, как и 6, но то же самое можно сказать о 5,01, 5,001, 5,0001 и т. Д. c.

. Построить воспроизводимый пример, аналогичный вашему

data2 <- data.frame(numbers = c(1,2,3,4), text = c("one", "two", "three", "four"))
  numbers  text
1       1   one
2       2   two
3       3 three
4       4  four

Я могу используйте числовой столбец, чтобы выполнить математику:

library(dplyr)
data2 %>%
mutate(square = numbers * numbers)
  numbers  text square
1       1   one      1
2       2   two      4
3       3 three      9
4       4  four     16

Если я преобразую числа в множитель, используя as.factor, хотя

data2$numbers <- as.factor(data2$numbers)

я больше не смогу выполнять математику ( как в квадрате), используя значения в data2$numbers, потому что они больше не числа c. Это уровни факторов с именами 1, 2, 3, 4, а не числа 1, 2, 3, 4. Их так же легко назвать Север-Юг-Запад и Запад, а Запад * Запад не имеет никакого смысла.

Итак, чтобы подвести итог, вы захотите использовать as.numeri c, когда все, что вы передаете, на самом деле являются числами, но, возможно, закодировано как строки ("1", "2", "3", "4") или что-то, что вы хотели бы представить как числа (например, в случае значений ИСТИНА или ЛОЖЬ). Вы хотели бы использовать as.factor, когда хотите преобразовать все, что вы передаете, в именованные категории, которые могут иметь или не иметь порядок.

Это отвечает на ваш вопрос?

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