12345qwert6y
12345qwert6y

Reputation: 1

Error with dplyr::recode(): "Either all values must be named, or none must be named"

I'm trying to recode the values in my column but I keep getting errors. My code looks like this:

dataTable1 %>%
  mutate(income = recode(income, "1" = "Under $20,000", "2" = "Between $20,000 - $39,999",
                                 "3" = "Between $40,000 - $59,999", "4" = "Between $60,000 - $79,999",
                                 "5", "Between $80,000 - $99,999", "6" = "Between $100,000 - $199,999",
                                 "7" = "Between $200,000 - $1,000,000", "8" = "Over $1,000,000"))

And the error that comes up is

Unused Arguments

I tried to change the code by adding dplyr::

dataTable1 %>%
  mutate(income = dplyr::recode(income, "1" = "Under $20,000", "2" = "Between $20,000 - $39,999",
                                        "3" = "Between $40,000 - $59,999", "4" = "Between $60,000 - $79,999",
                                        "5", "Between $80,000 - $99,999", "6" = "Between $100,000 - $199,999",
                                        "7" = "Between $200,000 - $1,000,000", "8" = "Over $1,000,000"))

But now the error is

either all values must be named, or none must be named.

I have named all my values and my syntax appears correct. If anyone could help that would be much appreciated. Thanks

Upvotes: 0

Views: 261

Answers (1)

M Aurélio
M Aurélio

Reputation: 912

I can't comment yet.

There is a extra comma after 5, it should be a equal sign

    dataTable1 %>%
      mutate(income = dplyr::recode(income,
      "1" = "Under $20,000", 
      "2" = "Between $20,000 - $39,999",
      "3" = "Between $40,000 - $59,999",
      "4" = "Between $60,000 - $79,999",
      "5" = "Between $80,000 - $99,999", 
      "6" = "Between $100,000 - $199,999",
      "7" = "Between $200,000 - $1,000,000", 
      "8" = "Over $1,000,000"))

Upvotes: 1

Related Questions