Как преобразовать число в коэффициент в r (с примерами)


Существует два метода, которые можно использовать для преобразования числовой переменной в факториал в R:

Способ 1: используйте as.factor()

 df$factor_variable <- as. factor (df$numeric_variable)

Это преобразует числовую переменную в факторную переменную с количеством уровней, равным количеству уникальных значений в исходной числовой переменной.

Метод 2: используйте Cut()

 df$factor_variable <- cut(df$numeric_variable, 3 , labels=c(' lab1 ', ' lab2 ', ' lab3 '))

В этом конкретном примере числовая переменная преобразуется в факторную переменную путем «разрезания» числовой переменной на 3 равноотстоящих друг от друга значения.

В следующих примерах показано, как использовать каждый метод на практике со следующим фреймом данных в R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'C', 'D'),
                 points=c(12, 15, 22, 29, 35, 24, 11, 24))

#view data frame
df

  team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24

#view structure of data frame
str(df)

'data.frame': 8 obs. of 2 variables:
 $ team: chr "A" "A" "B" "B" ...
 $ points: num 12 15 22 29 35 24 11 24

Пример 1. Преобразование числа в коэффициент с помощью as.factor()

Следующий код показывает, как использовать as.factor() для преобразования столбца точек из числового в факторный:

 #convert points column from numeric to factor
df$points <- as. factor (df$points)

#view updated data frame
df

  team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24

#view updated structure of data frame
str(df)

'data.frame': 8 obs. of 2 variables:
 $ team: chr "A" "A" "B" "B" ...
 $ points: Factor w/ 7 levels "11","12","15",..: 2 3 4 6 7 5 1 5

Используя функцию str() для визуализации структуры фрейма данных, мы видим, что столбец точек теперь представляет собой фактор с 7 различными уровнями, представляющими 7 уникальных числовых значений в столбце.

Пример 2. Преобразование числа в коэффициент с помощью функции Cut().

Следующий код показывает, как использовать функцию Cut() для преобразования столбца точек из числовой переменной в трехуровневую факторную переменную:

 #convert points column from numeric to factor with three levels
df$points <- cut(df$points, 3 , labels=c(' OK ', ' Good ', ' Great '))

#view updated data frame
df

  team points
1 A OK
2 A OK
3 B Good
4 B Great
5 C Great
6 C Good
7 C OK
8 D Good

#view updated structure of data frame
str(df)

'data.frame': 8 obs. of 2 variables:
 $ team: chr "A" "A" "B" "B" ...
 $ points: Factor w/ 3 levels "OK","Good","Great": 1 1 2 3 3 2 1 2

Из результата мы видим, что переменная точек была преобразована из числовой переменной в факторную переменную с тремя уровнями и следующими метками:

  • «ВСЕ В ПОРЯДКЕ»
  • «ХОРОШИЙ»
  • «Большой»

Обратите внимание, что в этом примере мы решили использовать три уровня, но вы можете разрезать числовую переменную на любое количество уровней, заменив цифру 3 в функции Cut() другим значением.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как преобразовать число в символ в R
Как преобразовать коэффициент в числовой в R
Как преобразовать фактор в символ в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *