Коэффициенты (с 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
, когда хотите преобразовать все, что вы передаете, в именованные категории, которые могут иметь или не иметь порядок.
Это отвечает на ваш вопрос?