R Mutate (Dataframe vs Tibble) - PullRequest
       61

R Mutate (Dataframe vs Tibble)

1 голос
/ 02 марта 2020

Работает в R 3.6.1 (64) бит. Использовал readxl для получения фрейма данных в R (названный «RawShift». Я сделал 6 переменных (класс: «символ»), которые являются списками имен пользователей. Каждый список назван для команды, в которой находится пользователь.

Я хочу использовать Mutate для создания столбца с командой, из которой пользователь.

INTeam = C("user1", "user2",...)
OFTeam = C("user3", "user4",...)

Когда я работал с фреймом данных, этот код работал:

RawShift <- RawShift %>% mutate(Team =case_when(
  `username` %in% OFTeam ~ "Office",
  `username` %in% INTeam ~ "Industrial"
))

Сейчас Я взял это и сделал «as_tibble» на моем Raw Shift, он не выдаст ошибку, не сработает. Это случай непонимания методов доступа Tibble («», [],., [[]]) Стоит ли беспокоиться о хакерской работе или просто заняться хакерской работой и конвертировать с использованием фрейма данных, а затем конвертировать в тиббл? заставить это работать. Попробовал использовать "$", "." et c до% в%, но пока безуспешно. Спасибо за любой совет / помощь.

1 Ответ

1 голос
/ 02 марта 2020

Нам может понадобиться загрузить tibble пакет

library(dplyr)
library(tibble)
head(iris) %>% 
   as_tibble %>% 
   mutate(new = case_when(Species == "setosa" ~ "hello"))
# A tibble: 6 x 6
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species new  
#         <dbl>       <dbl>        <dbl>       <dbl> <fct>   <chr>
#1          5.1         3.5          1.4         0.2 setosa  hello
#2          4.9         3            1.4         0.2 setosa  hello
#3          4.7         3.2          1.3         0.2 setosa  hello
#4          4.6         3.1          1.5         0.2 setosa  hello
#5          5           3.6          1.4         0.2 setosa  hello
#6          5.4         3.9          1.7         0.4 setosa  hello
...