um pequena correção para evitar repetição da coluna cidades,

a <- "Nova_Nazare_(MT)"
b <- "Ilhéus_(BA)"
c <- data.frame(cidades=c(a,b))

#install.packages("plyr")
library(plyr)

adply(c,1,function(x) data.frame(cidades=tolower(substr(x,1,nchar(x)-5)),estado=substr(x,nchar(x)-2,nchar(x)-1)))


On Nov 18 2020, at 5:24 pm, Fernando Souza <nandodesouza@gmail.com> wrote:
Usando o código reproduzível do Cid, é possível fazer utilizando a função adply do pacote {plyr}
a <- "Nova_Nazare_(MT)"
b <- "Ilhéus_(BA)"
c <- data.frame(cidades=c(a,b))

#install.packages("plyr")
library(plyr)

adply(c,1,function(x) data.frame(cidade=tolower(substr(x,1,nchar(x)-5)),estado=substr(x,nchar(x)-2,nchar(x)-1)))


att

On Nov 18 2020, at 11:10 am, Bia Rebelatto por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Olá pessoal,

Eu gostaria de retirar a UF que vem junto com os municípios dos dados do IBGE, coloca-la em uma nova coluna para os estados, e deixar todos os caracteres em minúsculo. Exemplo:

De 
Nova_Nazare_(MT)  
para 
nova_nazare

Este é o script que estou utilizando:

#Calling the package group ----
library(tidyverse)

#Load data ----
setwd('...')
alldata = list.files()

#Change especial character ----
chg = function(x){
  iconv(x, to = "ASCII//TRANSLIT")
}

#Put NA info ----
##We will replace all in this loop
##In the and, we will exporting all
for (i in alldata) {
  df = read.csv(i, sep = ";")

  df[df == "-"] <- c(NA)
  df[df == "..."] <- c(NA)
   
  df$municipalities = chg(df$municipalities)
  df$municipalities = gsub("'", "", df$municipalities)
  df$municipalities = gsub(" ", "_", df$municipalities)

Desde já agradeço!

Bianca
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.