Regular Expression R

5

I have a variable that indicates the year of elementary school that a student is attending, but this variable was not filled in uniquely.

For example, the first year of elementary school because it is indicated as 1º ano , 1º Ano , 1º ANO , 1 º ano . Does anyone know how to include all possible shapes within a grep for example. I know I can do some grep , but for this I would need to know for sure each form that was filled out and it would be more useful something automatic.

It follows a dput of part of the information.

c("1º ano", "1º ano", "1º ano", "1º ano", "2º ano", "2º ano", 
"2º ano", "2º ano", "3º ano", "3º ano", "3º ano", "3º ano", "4º ano", 
"4º ano", "4º ano", "4º ano", "5º ano", "5º ano", "5º ano", "5º ano", 
"1º ano", "1º ano", "1º ano", "1º ano", "2º ano", "2º ano", "2º ano", 
"2º ano", "3º ano", "3º ano", "3º ano", "3º ano", "4º ano", "4º ano", 
"4º ano", "4º ano", "5º ano", "5º ano", "5º ano", "5º ano", "1º ano", 
"1º ano", "1º ano", "1º ano", "2º ano", "2º ano", "2º ano", "2º ano", 
"3º ano", "3º ano", "3º ano", "3º ano", "4º ano", "4º ano", "4º ano", 
"4º ano", "5 º ano", "5 º ano", "5 º ano", "5 º ano", "1º ano", 
"1º ano", "1º ano", "1º ano", "1º ano", "2º ano", "2º ano", "2º ano", 
"2º ano", "2º ano", "3º ano", "3º ano", "3º ano", "3º ano", "3º ano", 
"4º ano", "4º ano", "4º ano", "4º ano", "4º ano", "5º ano", "5º ano", 
"5º ano", "5º ano", "5º ano", "Anos iniciais 1º ano / Parcial", 
"Anos iniciais 1º ano / Parcial", "Anos iniciais 1º ano / Parcial", 
"Anos iniciais 1º ano / Parcial", "Anos iniciais 2º ano / Parcial", 
"Anos iniciais 2º ano / Parcial", "Anos iniciais 2º ano / Parcial", 
"Anos iniciais 2º ano / Parcial", "Anos iniciais 3º ano / Parcial", 
"Anos iniciais 3º ano / Parcial", "Anos iniciais 3º ano / Parcial", 
"Anos iniciais 3º ano / Parcial", "Anos iniciais 4º ano / Parcial", 
"Anos iniciais 4º ano / Parcial", "Anos iniciais 4º ano / Parcial", 
"Anos iniciais 4º ano / Parcial", "Anos iniciais 5º ano / Parcial", 
"Anos iniciais 5º ano / Parcial", "Anos iniciais 5º ano / Parcial", 
"Anos iniciais 5º ano / Parcial", "1º ANO - MATUTINO/VESPERTINO", 
"1º ANO - MATUTINO/VESPERTINO", "1º ANO - MATUTINO/VESPERTINO", 
"1º ANO - MATUTINO/VESPERTINO", "2º ANO - MATUTINO/VESPERTINO", 
"2º ANO - MATUTINO/VESPERTINO", "2º ANO - MATUTINO/VESPERTINO", 
"2º ANO - MATUTINO/VESPERTINO", "3º ANO - MATUTINO/VESPERTINO", 
"3º ANO - MATUTINO/VESPERTINO", "3º ANO - MATUTINO/VESPERTINO", 
"3º ANO - MATUTINO/VESPERTINO", "4º ANO - MATUTINO/VESPERTINO", 
"4º ANO - MATUTINO/VESPERTINO", "4º ANO - MATUTINO/VESPERTINO", 
"4º ANO - MATUTINO/VESPERTINO", "5º ANO - MATUTINO/VESPERTINO", 
"5º ANO - MATUTINO/VESPERTINO", "5º ANO - MATUTINO/VESPERTINO", 
"5º ANO - MATUTINO/VESPERTINO", "Anos iniciais 1º ano / Parcial", 
"Anos iniciais 1º ano / Parcial", "Anos iniciais 1º ano / Parcial", 
"Anos iniciais 1º ano / Parcial", "Anos iniciais 2º ano / Parcial", 
"Anos iniciais 2º ano / Parcial", "Anos iniciais 2º ano / Parcial", 
"Anos iniciais 2º ano / Parcial", "Anos iniciais 3º ano / Parcial", 
"Anos iniciais 3º ano / Parcial", "Anos iniciais 3º ano / Parcial", 
"Anos iniciais 3º ano / Parcial", "Anos iniciais 4º ano / Parcial", 
"Anos iniciais 4º ano / Parcial", "Anos iniciais 4º ano / Parcial", 
"Anos iniciais 4º ano / Parcial", "Anos iniciais 5º ano / Parcial", 
"Anos iniciais 5º ano / Parcial", "Anos iniciais 5º ano / Parcial", 
"Anos iniciais 5º ano / Parcial", "1º ANO", "1º ANO", "1º ANO", 
"1º ANO", "1º ANO", "1º ANO", "2º ANO", "2º ANO", "2º ANO", "2º ANO", 
"2º ANO", "2º ANO", "3º ANO", "3º ANO", "3º ANO", "3º ANO", "3º ANO", 
"3º ANO", "4º ANO", "4º ANO", "4º ANO", "4º ANO", "4º ANO", "4º ANO", 
"5º ANO", "5º ANO", "5º ANO", "5º ANO", "5º ANO", "5º ANO", "1 º ano", 
"1 º ano", "1 º ano", "1 º ano", "1 º ano", "1 º ano", "2ºano", 
"2ºano", "2ºano", "2ºano", "2ºano", "2ºano", "3ºano", "3ºano", 
"3ºano", "3ºano", "3ºano", "3ºano", "4ºano", "4ºano", "4ºano", 
"4ºano", "4ºano", "4ºano", "5ºano")
    
asked by anonymous 01.08.2017 / 15:54

2 answers

5

Complementing the Henrique example:

Select all fields that have "1".

txt[grep("1", txt)]

Select all fields that have "1" or textually "First".

txt[grep("1|primeiro", txt, ignore.case = TRUE)]
    
01.08.2017 / 17:41
4

You can use the ignore.case parameter of the grep function as per documentation .

For your case:

txt <- c("1º ano", "1º ano", "1º ano", "1º ano", "2º ano", "2º ano", 
"2º ano", "2º ano", "3º ano", "3º ano", "3º ano", "3º ano", "4º ano", 
"4º ano", "4º ano", "4º ano", "5º ano", "5º ano", "5º ano", "5º ano", 
"1º ano", "1º ano", "1º ano", "1º ano", "2º ano", "2º ano", "2º ano", 
"2º ano", "3º ano", "3º ano", "3º ano", "3º ano", "4º ano", "4º ano", 
"4º ano", "4º ano", "5º ano", "5º ano", "5º ano", "5º ano", "1º ano", 
"1º ano", "1º ano", "1º ano", "2º ano", "2º ano", "2º ano", "2º ano", 
"3º ano", "3º ano", "3º ano", "3º ano", "4º ano", "4º ano", "4º ano", 
"4º ano", "5 º ano", "5 º ano", "5 º ano", "5 º ano", "1º ano", 
"1º ano", "1º ano", "1º ano", "1º ano", "2º ano", "2º ano", "2º ano", 
"2º ano", "2º ano", "3º ano", "3º ano", "3º ano", "3º ano", "3º ano", 
"4º ano", "4º ano", "4º ano", "4º ano", "4º ano", "5º ano", "5º ano", 
"5º ano", "5º ano", "5º ano", "Anos iniciais 1º ano / Parcial", 
"Anos iniciais 1º ano / Parcial", "Anos iniciais 1º ano / Parcial", 
"Anos iniciais 1º ano / Parcial", "Anos iniciais 2º ano / Parcial", 
"Anos iniciais 2º ano / Parcial", "Anos iniciais 2º ano / Parcial", 
"Anos iniciais 2º ano / Parcial", "Anos iniciais 3º ano / Parcial", 
"Anos iniciais 3º ano / Parcial", "Anos iniciais 3º ano / Parcial", 
"Anos iniciais 3º ano / Parcial", "Anos iniciais 4º ano / Parcial", 
"Anos iniciais 4º ano / Parcial", "Anos iniciais 4º ano / Parcial", 
"Anos iniciais 4º ano / Parcial", "Anos iniciais 5º ano / Parcial", 
"Anos iniciais 5º ano / Parcial", "Anos iniciais 5º ano / Parcial", 
"Anos iniciais 5º ano / Parcial", "1º ANO - MATUTINO/VESPERTINO", 
"1º ANO - MATUTINO/VESPERTINO", "1º ANO - MATUTINO/VESPERTINO", 
"1º ANO - MATUTINO/VESPERTINO", "2º ANO - MATUTINO/VESPERTINO", 
"2º ANO - MATUTINO/VESPERTINO", "2º ANO - MATUTINO/VESPERTINO", 
"2º ANO - MATUTINO/VESPERTINO", "3º ANO - MATUTINO/VESPERTINO", 
"3º ANO - MATUTINO/VESPERTINO", "3º ANO - MATUTINO/VESPERTINO", 
"3º ANO - MATUTINO/VESPERTINO", "4º ANO - MATUTINO/VESPERTINO", 
"4º ANO - MATUTINO/VESPERTINO", "4º ANO - MATUTINO/VESPERTINO", 
"4º ANO - MATUTINO/VESPERTINO", "5º ANO - MATUTINO/VESPERTINO", 
"5º ANO - MATUTINO/VESPERTINO", "5º ANO - MATUTINO/VESPERTINO", 
"5º ANO - MATUTINO/VESPERTINO", "Anos iniciais 1º ano / Parcial", 
"Anos iniciais 1º ano / Parcial", "Anos iniciais 1º ano / Parcial", 
"Anos iniciais 1º ano / Parcial", "Anos iniciais 2º ano / Parcial", 
"Anos iniciais 2º ano / Parcial", "Anos iniciais 2º ano / Parcial", 
"Anos iniciais 2º ano / Parcial", "Anos iniciais 3º ano / Parcial", 
"Anos iniciais 3º ano / Parcial", "Anos iniciais 3º ano / Parcial", 
"Anos iniciais 3º ano / Parcial", "Anos iniciais 4º ano / Parcial", 
"Anos iniciais 4º ano / Parcial", "Anos iniciais 4º ano / Parcial", 
"Anos iniciais 4º ano / Parcial", "Anos iniciais 5º ano / Parcial", 
"Anos iniciais 5º ano / Parcial", "Anos iniciais 5º ano / Parcial", 
"Anos iniciais 5º ano / Parcial", "1º ANO", "1º ANO", "1º ANO", 
"1º ANO", "1º ANO", "1º ANO", "2º ANO", "2º ANO", "2º ANO", "2º ANO", 
"2º ANO", "2º ANO", "3º ANO", "3º ANO", "3º ANO", "3º ANO", "3º ANO", 
"3º ANO", "4º ANO", "4º ANO", "4º ANO", "4º ANO", "4º ANO", "4º ANO", 
"5º ANO", "5º ANO", "5º ANO", "5º ANO", "5º ANO", "5º ANO", "1 º ano", 
"1 º ano", "1 º ano", "1 º ano", "1 º ano", "1 º ano", "2ºano", 
"2ºano", "2ºano", "2ºano", "2ºano", "2ºano", "3ºano", "3ºano", 
"3ºano", "3ºano", "3ºano", "3ºano", "4ºano", "4ºano", "4ºano", 
"4ºano", "4ºano", "4ºano", "5ºano")

grep("1º ano", txt, ignore.case = TRUE)

A working example on Rextester .

    
01.08.2017 / 16:15