library(tidyverse)
mode(iris)
class(iris)
dim(iris)
length(iris)
map(iris, length)

out_uno <- iris |> 
  select(where(is.numeric)) |> 
  summarise(across(everything(), median))
class(out_uno)

out_due <- map(select(iris, -Species), median)
class(out_due)

map_vec(select(iris, -Species), median)
map_df(select(iris, -Species), median)


walk(select(iris, -Species), hist, breaks = 5, col = "red")


walk(select(iris, -Species), 
     ~hist(., col = "red", main = "walk"))

walk(select(iris, -Species), 
     function(el) (hist(el, col = "red", main = "walk")))

walk(select(iris, -Species), 
     \(el) (hist(el, col = "darkblue", breaks = 7, main = "walk")))




nomi_file <- paste0(str_replace(names(iris), 
                                pattern = "[.]", 
                                replacement = "_"), ".csv")

walk2(iris, nomi_file, \(x, y) write_csv(data.frame(x), file = y))
     

walk2(iris, nomi_file, function(x, y) {
  df <- data.frame(x)
  colnames(df) <- str_remove(y, pattern = ".csv")
  write_csv(df, file = y)
  })


walk2(iris, colnames(iris), function(x, y) {
  df <- data.frame(x)
  colnames(df) <- y
  write_csv(df, file = paste0(y, ".csv"))
})


lista_tabelle <- map(dir(pattern = "*.csv"), read_csv)

bind_cols(lista_tabelle)

map(lista_tabelle[-5], colMeans)

map(lista_tabelle[-5], \(x) sd(unlist(x)))

