R - Search for rows in a data frame conditioned to part of a string

0

I have a multi-line date frame, on these lines I have a sentence that contains the word "Ad" by default, I want to generate a new date frame that contains only the lines that in the phrase have the word "Advertisement". I have already looked at several links on how to do this in R but I have not found the solution yet.

Exemplo:

#Gerar um novo data frame com os dados a serem trabalhados das visualizações de anúncios
DadosAnuncios=data.frame(Usuário=Dados[,1],DescricaoURL=Dados[,6])
#Pegar somente as descrições que são dos anúncios
DadosAnuncios=DadosAnuncios[grep("Anúncio:", DadosAnuncios$DescricaoURL),]
View(table(DadosAnuncios[,2]))

Example 2:

Usuarios=c("Joao1", "Joao2", "Joao3", "Joao4")
Acessos=c("Página 01", "Página 02", "Anúncio: 01", "Anúncio: 02")
MeusDados=data.frame(Usuarios,Acessos)
DadosAnunciosTeste=MeusDados[grep("Anúncio:", MeusDados$Acessos),]
View(table(DadosAnunciosTeste[,2]))
    
asked by anonymous 31.10.2017 / 14:03

2 answers

1

Counting that your data.frame is dados and the column that contains the word "Ad" is frase ,

dados[grep("Anúncio", dados$frase),]

Should resolve your issue

    
31.10.2017 / 16:03
1

One way will be as follows. First let's create an artificial table, just for testing.

set.seed(2203)    # torna os resultados reprodutíveis

s <- 
"Tenho um data frame com várias linhas, nessas linhas tenho uma frase que contém por padrão a palavra Anúncio, quero gerar um novo data frame que contenha somente as linhas que na frase possuem a palavra Anúncio. Já procurei em vários links de como fazer isso no R mas ainda não encontrei a solução"
s <- unlist(strsplit(gsub("[[:punct:]]", "", s), " "))
dados <- data.frame(s = sample(s, 200, TRUE), x = rnorm(200))

Now I'm going to use grepl to find the word anúncio . Since it can be both capitalized and non-capitalized, I also use tolower , to make sure there is no such problem.

inx <- grepl("anúncio", tolower(dados$s))
anuncio <- dados[which(inx), ]
row.names(anuncio) <- NULL
anuncio
#        s          x
#1 Anúncio -0.2342417
#2 Anúncio -2.2457881
#3 Anúncio  0.7579141
#4 Anúncio  0.7771827
#5 Anúncio -1.5996622
#6 Anúncio  1.0020413
    
31.10.2017 / 16:09