Suponha que eu queira criar um novo class
identificador chamado outdoors
no mpg
conjunto de dados que calcula a soma da hwy
quilometragem para jipes, land rovers e subarus entre os grupos 1 e 2. Existe uma maneira de fazer isso no tidyverse sem convertê-lo para formato amplo? Aqui está um código (que não funciona, é claro) que mostra o que estou tentando alcançar.
library(tidyverse)
data(mpg)
mpg_new <- mpg %>%
mutate(group = rep(c(1,2), times = 117)) %>%
group_by(group) %>%
mutate(hwy[class="outdoors"] = sum(hwy[manufacturer=="jeep"], hwy[manufacturer=="land rover"], hwy[manufacturer=="subaru"]))
# class="outdoors" is the new identifier I am trying to create within the class variable
Geralmente, a maneira organizada de atualizar algumas, mas não todas as linhas, é usar
ifelse
orcase_when
, com o valor original como "else" ou padrão.Procederemos em duas etapas: primeiro atualizaremos a
class
coluna e depois atualizaremos ahwy
coluna:Eu também observaria que isso poderia ter sido facilmente demonstrado em um quadro de dados de 6 linhas com muito mais clareza - sugiro fortemente tentar encontrar exemplos mínimos - é mais fácil de entender e depurar.