我有那些结构:
coop <- structure(list(razao_social = c("COOPERATIVA AGROINDUSTRIAL ALFA",
"COOPERATIVA MISTA DOS PRODUTORES DE LEITE DE MORRINHOS", "COOPERATIVA DE TRABALHO DOS PRESTADORES DE SERVICOS EM CONDOMINIOS - CONDOMINIUN",
"COOPERATIVA EMPRESARIAL RURAL DE SAPUCARANA - COERSA", "COOPERATIVA AGROINDUSTRIAL ALFA",
"COASUL COOPERATIVA AGROINDUSTRIAL", "COOPERATIVA DOS PLANTADORES DE CANA DA ZONA LENCOIS PTA",
"COOPERATIVA AGROPECUARIA CENTRO SERRANA", "COOPERATIVA AGROINDUSTRIAL COOPERJA",
"COOPERATIVA DOS CAFEICULTORES DA REGIAO DE GARCA", "COOPERATIVA DA CONSTRUCAO CIVIL DO ESTADO DE SERGIPE",
"COOPERATIVA REG AGRO IND DE S DOMINGOS DO PRATA LTDA", "COOPERATIVA REG AGRO IND DE S DOMINGOS DO PRATA LTDA",
"COOPERATIVA AGROPECUARIA VIDEIRENSE", "COOPERATIVA REGIONAL AGROPECUARIA VALE DO ITAJAI","COOPERATIVA DE TRABALHO E PRODUCAO ESPERACA"
), cnae_fiscal = c(4623109L, 4789099L, 9430800L, 9430800L, 4623108L,
4623199L, 4789099L, 4789099L, 4789099L, 4789099L, 4789099L, 4633801L,
4633801L, 4632001L, 4632001L,9430800L)), row.names = c(NA, 16L), class = "data.frame")
keywords <- c("abacaxi", "abate", "abatidas", "acabamento", "acácia", "açaí",
"açúcar", "adoçantes", "adubos", "agentes", "aglomerada",
"agr", "água", "aguardente", "aguardentes", "águas", "álcalis",
"álcool", "alcoólicas", "algodão", "alho", "alimentação",
"alimentares", "alimentícias", "alimentícios", "alimentos",
"alopáticos", "ambiental", "amendoim", "amidos", "amiláceos",
"animais", "animal", "aparelhos", "apicultura", "aquáticos",
"aquicultura", "aqüicultura", "ar", "arroz", "artificiais",
"árvores", "asininos", "atacadista", "atacado", "aves", "baía",
"balas", "bambu", "banana", "banho", "base", "batata", "bebidas",
"beneficiamento", "beterraba", "bicho", "biocombustíveis", "biscoitos",
"bolachas", "bolos", "bolsas", "bombons", "bordar", "borracha",
"bovinas", "bovinos", "bufalinos", "caça", "cacau", "café",
"cafeeiro", "cafeicultor", "caju", "calçados", "cama", "camarões",
"caminhões", "cana", "caprinos", "carburante", "carne", "carnes",
"carpintaria", "carrocerias", "cartão", "cartolina", "carvão",
"casas", "casca", "castanha", "cebola", "celulose", "celulósicas",
"cereais", "cerveja", "cervejas", "chá", "charutos", "chás",
"chocolates", "chope", "chopes", "cigarrilhas", "cigarros", "cítricos",
"cloro", "coco", "coelhos", "colchões", "colheita", "combustíveis",
"comerciais", "comestíveis", "concentrados", "condimento", "confeccionadas",
"confeitaria", "confeitos", "conservação", "conservas", "contrato",
"controle", "cordoaria", "corte", "cortiça", "costurar", "couro",
"couros", "cristalizadas", "crustáceos", "cultivo", "cultivos",
"curtimento", "defensivos", "dendê", "desdobramento", "desinfestantes",
"destiladas", "dextrose", "dietéticos", "doce", "domissanitários",
"equinos", "erva", "escargô", "especiarias", "espécies", "especificadas",
"estamparia", "estimação", "estruturas", "eucalipto", "extração",
"farinha", "farinhas", "farmacêuticas", "farmacêuticos", "farmoquímicos",
"féculas", "feijão", "fermentos", "ferramenta", "fertilizantes",
"fibras", "fios", "fitoterápicos", "flores", "florestais", "florestal",
"florestas", "floricultura", "folha", "formação", "formulários",
"forrageiras", "frangos", "frescos", "frigorífico", "frutas",
"frutos", "fumo", "galináceos", "gases", "gelados", "gelo",
"girassol", "gorduras", "gramas", "grão", "guaraná", "herbáceo",
"higiênico", "higiênicos", "homeopáticos", "hortaliças",
"horticultura", "hortifrutigranjeiros", "humano", "índia", "inglesa",
"inseminação", "íntimas", "irrigação", "isotônicas", "jacaré",
"lã", "laminada", "laminados", "laranja", "lãs", "látex",
"laticínios", "lavoura", "lavouras", "legumes", "leguminosas",
"leite", "leveduras", "linhas", "maçã", "madeira", "madeireiras",
"madeireiros", "malas", "malha", "malharia", "malharias", "malte",
"mamão", "mamona", "mandioca", "manejo", "manga", "mar", "maracujá",
"margarina", "marinhos", "massas", "matadouro", "mate", "matérias",
"medicamentos", "meias", "melancia", "melão", "mercadorias",
"mexilhões", "milho", "mineral", "moagem", "moído", "molhos",
"moluscos", "morango", "muares", "mudas", "nativas", "naturais",
"oleaginosas", "óleo", "ondulado", "orgânicos", "organo", "origem",
"ornamentais", "ostras", "ovinos", "ovos", "padaria", "pães",
"palha", "palmito", "panificação", "papéis", "papel", "papelão",
"pará", "pasto", "pecuária", "peixes", "peles", "pequenos",
"permanente", "pesca", "pescado", "pescados", "pêssego", "pimenta",
"pintos", "pinus", "plantadas", "plantas", "poda", "porte", "pratos",
"produtos", "pulverização", "químicos", "raízes", "ranicultura",
"rasteiro", "recreativos", "refinados", "refrescos", "refrigerante",
"refrigerantes", "reino", "reses", "resseragem", "roupas", "rural",
"salgada", "salobra", "seda", "sementes", "semicultivos", "seringueira",
"serrarias", "serviço", "sisal", "soja", "solo", "solúvel",
"sorvetes", "sucos", "suínas", "suínos", "tanoaria", "tapeçaria",
"teca", "tecelagem", "tecidos", "temperos", "tênis", "termofixas",
"termoplásticas", "têxteis", "têxtil", "texturização", "tomate",
"torção", "torrado", "torrefação", "tosquiamento", "trançado",
"trançados", "tratamento", "tricotagem", "tricotagens", "trigo",
"tubérculos", "tubulares", "uísque", "uva", "vegetais", "vegetal",
"veículos", "verduras", "vestuário", "veterinário", "vime",
"vinagres", "vinho", "vivas", "viveiros", "vivos")
我想要一个名为coop_filter
的data.frame,其中将有coop
的列和其中$razao_social
的单词是keywords
的行。
注意:
coop
确实很大,因此我想在转移后删除该行。我认为这也可以避免重复。keywords
中,我有“ agr”一词。我想用这个词过滤所有以“ agr”开头的词,例如AGROPECUARIA,AGRICOLA等。我一直在尝试这样的事情:
library(tidyverse)
coop$razao_social <- tolower(coop$razao_social)
lixo <- c("-",",",".","(",")"," ",";",":")
for(i in 1:length(lixo)){
coop$razao_social <- str_replace_all(coop$razao_social, fixed(lixo[i]), " ")
ifelse(i!=length(lixo),print(i),print(i) & rm(lixo,i))
}
# Filter
coop_filter <- data.frame()
for(i in length(keywords)){
eval(parse(text=paste0("
coop_filter <- str_extract_all(coop$razao_social, '^.+",keywords[i],".+')
")))
}
我已经被卡在coop_filter
中了。
答案 0 :(得分:1)
使用此answer中的解决方案。
coop %>%
filter(str_detect(razao_social, paste(toupper(keywords), collapse = "|")))
#-----
razao_social cnae_fiscal
1 COOPERATIVA AGROINDUSTRIAL ALFA 4623109
2 COOPERATIVA AGROINDUSTRIAL ALFA 4623108
3 COASUL COOPERATIVA AGROINDUSTRIAL 4623199
4 COOPERATIVA DOS PLANTADORES DE CANA DA ZONA LENCOIS PTA 4789099
5 COOPERATIVA AGROPECUARIA CENTRO SERRANA 4789099
6 COOPERATIVA AGROINDUSTRIAL COOPERJA 4789099
7 COOPERATIVA DOS CAFEICULTORES DA REGIAO DE GARCA 4789099
8 COOPERATIVA REG AGRO IND DE S DOMINGOS DO PRATA LTDA 4633801
9 COOPERATIVA REG AGRO IND DE S DOMINGOS DO PRATA LTDA 4633801
10 COOPERATIVA AGROPECUARIA VIDEIRENSE 4632001
11 COOPERATIVA REGIONAL AGROPECUARIA VALE DO ITAJAI 4632001