say_my_name <- function(name_in) {
  # Prints a single name in the prompt
  #
  # ARGS: name_in - Name to be printed
  # RETURNS: TRUE, if sucessfull

  # check inputs
  if (class(name_in) != 'character') {
    stop('Class of input name_in is ', class(name_in), 
         ' and not character!')
  }

  if (length(name_in) > 1) {
    stop('Input name_in has length ', length(name_in), 
         ' and not 1 (this function only works for one name)!')
  }



  my_msg <- paste0('Your name is ', name_in, '.')

  message(my_msg)

  # invisible makes sure the fct doesnt return anything if not output is set
  return(invisible(TRUE))
}

library(tidyverse)

# get CURRENT url from https://data.chhs.ca.gov/dataset/most-popular-baby-names-2005-current
my_url <- 'https://data.brasil.io/dataset/genero-nomes/grupos.csv.gz'

df_names <- read_csv(my_url, col_types = cols())

my_names <- sample(df_names$name, 15)

for (i_name in my_names) {

  say_my_name(i_name)
}
# none
my_answers <- rep(NA, 5)

Question

No banco de dados do Brasil.IO^[https://data.brasil.io/dataset/genero-nomes/grupos.csv.gz] encontrarás uma tabela com nomes e gêneros derivados de uma das pesquisas do IBGE. Importe os dados do arquivo para R e, usando um loop, aplique a função say_my_name a 15 nomes aleatórios do banco de dados. Dica: neste caso, você pode baixar os dados direto do link usando readr::read_csv(LINK).

Solution


Meta-information

extype: string exsolution: r mchoice2string(c(TRUE, FALSE, FALSE, FALSE, FALSE), single = TRUE) exname: "function 04" exshuffle: TRUE



msperlin/adfeR documentation built on March 26, 2021, 3:05 a.m.