Преобразовать текстовые данные в одном столбце в цифры c данные в R - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть столбец в моем фрейме данных как жанр фильмов, и их много. Я хочу преобразовать его в числовые данные для построения матрицы корреляции. Пожалуйста, помогите мне сделать это.

Genre         Genre_numerical
Comedy        1
Action        2
Suspense      3
Comedy        1
Biography     4

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Вот два решения: одно base R, другое основано на dplyr:

Иллюстративные данные:

set.seed(123)
df <- data.frame(Genre = sample(c("Comedy", "Action", "Suspense", "Biography"), 10, replace = T))

Решение № 1 :

Вы можете присвоить числовые значения категориям Genre, используя ifelse:

df$Genre_numerical <- ifelse(df$Genre == "Comedy", 1,
                            ifelse(df$Genre == "Action", 2,
                                   ifelse(df$Genre == "Suspense", 3, 4)))

Solution # 2 :

library(dplyr)
df$Genre_numerical <- df %>% 
  mutate(Genre = case_when(Genre == "Comedy"   ~ 1,
                           Genre == "Action"   ~ 2,
                           Genre == "Suspense" ~ 3, 
                           TRUE                ~ 4))

Результат:

Результат одинаков в любом случае:

df
       Genre Genre_numerical
1     Action               2
2  Biography               4
3     Action               2
4  Biography               4
5  Biography               4
6     Comedy               1
7   Suspense               3
8  Biography               4
9   Suspense               3
10    Action               2
0 голосов
/ 30 апреля 2020

В R вы можете сделать фактор категориальных данных. Это базовая c вещь, которую нужно сделать (или избегать до самого последнего момента) в R. Посмотрите на неупорядоченные и неупорядоченные факторы, если это то, что вам нужно освежить.

Кажется, ваш вопрос относятся больше к вопросу о том, как соотнести категориальные данные.

Посмотрите на этот ответ и затем прочитайте ветку: Составьте эквивалент матрицы корреляции для факторов (категориальные данные)? И смешанные типы?

Сила ассоциации рассчитывается для номинального по сравнению с номинальным с исправленным смещением V Крамера, число c против числа c с корреляцией Спирмена (по умолчанию) или Пирсона, и номинальная по сравнению с цифрой c с ANOVA. - @Holger Brandl

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