Google Data Analyst Course: could not find function "separate" and cannot coerce class ‘"function"’ to a data.frame

Hi i have got error when run this code, i'm newbie in R Language:
FIRST CASE

 id <- c(1:10)

name <- c("John Mendes", "Rob Stewart", "Rachel Abrahamson", "Chirsty Hickman", "Johnson Harper",
          "Candace Miller", "Carlson Landy", "Pansy Jordan", "Darius Berry", "Claudia Garcia")

job_title <- c("Programmer", "Dev Ops", "Backend", "Frontend", "Data Analyst", "Developer",
               "Networking", "Web Master", "Data Engineer", "Data Science")

employee <- data.frame(id, name, job_title)

print(employee)

separate(employee, name,into=c("first_name", "last_name"), sep=" ")

and got this error Error in separate(employee, name, into = c("first_name", "last_name"), :
could not find function "separate"

and SECOND CASE

first_name <- c("John", "Rob", "Rachel", "Christy", "Johnson", "Candace",
                "Carlson", "Pansy", "Darius", "Claudia")
last_name <- c("Mendes", "Stewart", "Abrahamson", "Hickman", "Harper", "Miller", 
               "Landy", "Jordan", "Berry", "Garcia")
job_title <- c("Programmer", "Dev Ops", "Backend", "Frontend", "Data Analyst", 
               "Developer", "Networking", "Data Engineer", "Web Master", "Data Science")
employee <- data.frame(id, first_name, last_name, job_title)

print(employee)

And i got error Error in as.data.frame.default(x[[i]], optional = TRUE) :
cannot coerce class ‘"function"’ to a data.frame

Thanks

id <- c(1:10)

name <- c(
  "John Mendes", "Rob Stewart", "Rachel Abrahamson", "Chirsty Hickman", "Johnson Harper",
  "Candace Miller", "Carlson Landy", "Pansy Jordan", "Darius Berry", "Claudia Garcia"
)

job_title <- c(
  "Programmer", "Dev Ops", "Backend", "Frontend", "Data Analyst", "Developer",
  "Networking", "Web Master", "Data Engineer", "Data Science"
)

employee <- data.frame(id, name, job_title)

# data frames have implicit print methods, print() unneeded
employee
#>    id              name     job_title
#> 1   1       John Mendes    Programmer
#> 2   2       Rob Stewart       Dev Ops
#> 3   3 Rachel Abrahamson       Backend
#> 4   4   Chirsty Hickman      Frontend
#> 5   5    Johnson Harper  Data Analyst
#> 6   6    Candace Miller     Developer
#> 7   7     Carlson Landy    Networking
#> 8   8      Pansy Jordan    Web Master
#> 9   9      Darius Berry Data Engineer
#> 10 10    Claudia Garcia  Data Science

# functions are in libraries, like {base} which is always
# loaded (in namespace); if a library like {tidry} isn't
# loaded the function can't be found (and if the library
# hasn't been installed it can't be loaded)
library(tidyr)
separate(employee, name, into = c("first_name", "last_name"), sep = " ")
#>    id first_name  last_name     job_title
#> 1   1       John     Mendes    Programmer
#> 2   2        Rob    Stewart       Dev Ops
#> 3   3     Rachel Abrahamson       Backend
#> 4   4    Chirsty    Hickman      Frontend
#> 5   5    Johnson     Harper  Data Analyst
#> 6   6    Candace     Miller     Developer
#> 7   7    Carlson      Landy    Networking
#> 8   8      Pansy     Jordan    Web Master
#> 9   9     Darius      Berry Data Engineer
#> 10 10    Claudia     Garcia  Data Science

# let's throw a wrench into the gears
employee[1,2] <- "Mendes III"
separate(employee, name, into = c("first_name", "last_name"), sep = " ")
#>    id first_name  last_name     job_title
#> 1   1     Mendes        III    Programmer
#> 2   2        Rob    Stewart       Dev Ops
#> 3   3     Rachel Abrahamson       Backend
#> 4   4    Chirsty    Hickman      Frontend
#> 5   5    Johnson     Harper  Data Analyst
#> 6   6    Candace     Miller     Developer
#> 7   7    Carlson      Landy    Networking
#> 8   8      Pansy     Jordan    Web Master
#> 9   9     Darius      Berry Data Engineer
#> 10 10    Claudia     Garcia  Data Science
# another
employee[2,1] <- "Billy Bob"
separate(employee, name, into = c("first_name", "last_name"), sep = " ")
#>           id first_name  last_name     job_title
#> 1          1     Mendes        III    Programmer
#> 2  Billy Bob        Rob    Stewart       Dev Ops
#> 3          3     Rachel Abrahamson       Backend
#> 4          4    Chirsty    Hickman      Frontend
#> 5          5    Johnson     Harper  Data Analyst
#> 6          6    Candace     Miller     Developer
#> 7          7    Carlson      Landy    Networking
#> 8          8      Pansy     Jordan    Web Master
#> 9          9     Darius      Berry Data Engineer
#> 10        10    Claudia     Garcia  Data Science

Created on 2023-01-26 with reprex v2.0.2

first_name <- c("John", "Rob", "Rachel", "Christy", "Johnson", "Candace",
                "Carlson", "Pansy", "Darius", "Claudia")
last_name <- c("Mendes", "Stewart", "Abrahamson", "Hickman", "Harper", "Miller", 
               "Landy", "Jordan", "Berry", "Garcia")
job_title <- c("Programmer", "Dev Ops", "Backend", "Frontend", "Data Analyst", 
               "Developer", "Networking", "Data Engineer", "Web Master", "Data Science")
# won't work unless id is in namespace
# employee <- data.frame(id, first_name, last_name, job_title)
# you can do it on the fly
employee <- data.frame(id = 1:10, first_name, last_name, job_title)
employee |> head()
#>   id first_name  last_name    job_title
#> 1  1       John     Mendes   Programmer
#> 2  2        Rob    Stewart      Dev Ops
#> 3  3     Rachel Abrahamson      Backend
#> 4  4    Christy    Hickman     Frontend
#> 5  5    Johnson     Harper Data Analyst
#> 6  6    Candace     Miller    Developer
# or after the fact
employee <- data.frame(first_name, last_name, job_title)
employee$id <- 1:10
employee <- employee[c(4,1:3)]
head(employee)
#>   id first_name  last_name    job_title
#> 1  1       John     Mendes   Programmer
#> 2  2        Rob    Stewart      Dev Ops
#> 3  3     Rachel Abrahamson      Backend
#> 4  4    Christy    Hickman     Frontend
#> 5  5    Johnson     Harper Data Analyst
#> 6  6    Candace     Miller    Developer
# or after the fact semi-automatically, so you don't
# need to decide in advance how many id numbers to set
# aside
employee$id <- 1:nrow(employee)
employee |> tail()
#>    id first_name last_name     job_title
#> 5   5    Johnson    Harper  Data Analyst
#> 6   6    Candace    Miller     Developer
#> 7   7    Carlson     Landy    Networking
#> 8   8      Pansy    Jordan Data Engineer
#> 9   9     Darius     Berry    Web Master
#> 10 10    Claudia    Garcia  Data Science
1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.