Search code examples
rmutate

R mutate produces error 'Must be size 1, not 10'


Here is my df

Airline Destination delayed ontime Total_Arrivals
Alaska Los Angelos 62 497 559
Alaska Phoenix 12 221 233
Alaska San Diego 20 212 232
Alaska San Francisco 102 503 605
Alaska Seatlle 305 1841 2146
AM West Los Angelos 117 694 811
AM West Phoenix 415 4840 5255
AM West San Diego 65 383 448
AM West San Francisco 129 320 449
AM West Seatlle 61 201 262

I am trying to use the below to calculate percentage:

     Airline_Arrivals_Long_Test <-Airline_Arrivals_Wide %>%
         mutate(Airline_Arrivals_Wide, (delayed/Total_Arrivals)*100)

But i get the following error:

Error in mutate(): ℹ In argument: Airline_Arrivals_Wide. ℹ In row 1. Caused by error: ! Airline_Arrivals_Wide must be size 1, not 10. ℹ Did you mean: = list(Airline_Arrivals_Wide) ? Backtrace:

  1. Airline_Arrivals_Wide %>% ...
  2. dplyr:::dplyr_internal_error(...)

What is the issue here? I am supposed to calculate in dplyr


Solution

  • You must remove the second argument (Airline_Arrivals_Wide) and create a new column 'percentage' using the delayed and Total_Arrivals columns:

    Airline_Arrivals_Long_Test <- Airline_Arrivals_Wide %>%
      mutate(percentage = (delayed/Total_Arrivals)*100)