Изменение типов столбцов с помощью dplyr - PullRequest
0 голосов
/ 22 февраля 2019

Мне нужна помощь, чтобы привести в порядок мои данные.Я пытаюсь преобразовать некоторые целые числа в факторы (но не все целые числа в факторы).Я думаю, что могу сделать с выбором рассматриваемых переменных, но как мне добавить их обратно в исходный набор данных?Например, сохраняя значения НЕ выбранными из моего raw_data_tbl и используя мутированные типы из raw_data_tbl_int введите описание изображения здесь

введите описание изображения здесь

library(dplyr)

raw_data_tbl %>% 
select_if(is.numeric) %>% 
select(-c(contains("units"), PRO_ALLOW, RTL_ACTUAL, REAL_PRICE, 
       REAL_PRICE_HHU, REBATE, RETURN_UNITS, UNITS_PER_CASE, Profit, STR_COST, DCC, 
       CREDIT_AMT)) %>% 
mutate_if(is.numeric, as.factor)

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Вместо этого вы можете использовать mutate_at.Вот пример использования iris фрейма данных:

library(dplyr)

iris_factor <- iris %>%
  mutate_at(vars(Sepal.Width, 
                 Sepal.Length), 
            funs(factor))

и доказательства:

> str(iris_factor)
'data.frame':   150 obs. of  5 variables:
 $ Sepal.Length: Factor w/ 35 levels "4.3","4.4","4.5",..: 9 7 5 4 8 12 4 8 2 7 ...
 $ Sepal.Width : Factor w/ 23 levels "2","2.2","2.3",..: 15 10 12 11 16 19 14 14 9 11 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
0 голосов
/ 22 февраля 2019

Честно говоря, я бы сделал это так:

library(dplyr)

df = data.frame("LOC_ID" = c(1,2,3,4),
                "STRS" = c("a","b","c","d"),
                "UPC_CDE" = c(813,814,815,816))

df$LOC_ID = as.factor(df$LOC_ID)
df$UPC_CDE = as.factor(df$UPC_CDE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...