Факторы сортировки по более чем двум порядковым переменным - PullRequest
1 голос
/ 18 мая 2019

У меня есть вопрос относительно сравнения факторов по более чем 3 порядковым переменным.

Я пробовал это на Rstudio и Datacamp.После установки определенного порядка в работе с более чем двумя порядковыми переменными (низкий, средний, высокий), при сравнении высокого и среднего, почему «высокий> средний» дает FALSE?

temperature_vector <- c("High", "Low", "High","Low", "Medium")
factor_temperature_vector <- factor(temperature_vector, order = TRUE, levels = c("Low", "Medium", "High"))
factor_temperature_vector 

#The above line returns:
#[1] High   Low    High   Low    Medium
#Levels: Low < Medium < High

high <- temperature_vector[1]
medium <- temperature_vector[5]
low <- temperature_vector[2]

high > low #returns FALSE

high > medium #returns FALSE. Why?

Решено:

Нужно сравнивать факторы вместо переменных:

high <- **factor_**temperature_vector[1]
medium <- **factor_**temperature_vector[5]
low <- **factor_**temperature_vector[2]

1 Ответ

0 голосов
/ 18 мая 2019

Присвоение идентификаторов происходит из вектора character вместо вектора factor. Для строк character порядок указывается в алфавитном порядке, где h меньше m

high <- factor_temperature_vector[1]
medium <- factor_temperature_vector[5]
low <- factor_temperature_vector[2]

high > low
#[1] TRUE
high > medium
#[1] TRUE
...