tutorial powerapps español ejemplos crear con aplicaciones r data.table string-matching

powerapps - Cómo seleccionar R data.table filas basadas en subcadena coinciden(a la SQL como)



powerapps ejemplos (2)

Tengo una tabla de datos con una columna de caracteres, y quiero seleccionar solo aquellas filas que contengan una subcadena. Equivalente a SQL WHERE x LIKE ''%substring%''

P.ej

> Months = data.table(Name = month.name, Number = 1:12) > Months["mb" %in% Name] Empty data.table (0 rows) of 2 cols: Name,Number

¿Cómo seleccionaría solo las filas donde Name contiene "mb"?


El operador %in% no hace coincidencia parcial de cadenas; se usa para encontrar si existen valores en otro conjunto de valores, es decir, "a" %in% c("a","b","c")

Para hacer una coincidencia parcial de cadenas, debe usar la función grep() . Puede usar grep para devolver un índice de todas las columnas con "mb" en él. Luego subconjunto las filas por ese índice

Months[grep("mb", Name)] # data.table syntax slightly easier


data.table tiene una función like .

Months[like(Name,"mb")] Name Number 1: September 9 2: November 11 3: December 12

O, %like% ve mejor:

> Months[Name %like% "mb"] Name Number 1: September 9 2: November 11 3: December 12

Tenga en cuenta que %like% y like() usan grepl (devuelve vector lógico) en lugar de grep (devuelve ubicaciones enteras). Eso es para que pueda combinarse con otras condiciones lógicas:

> Months[Number<12 & Name %like% "mb"] Name Number 1: September 9 2: November 11

y obtienes el poder de la búsqueda de expresión regular (no solo% o * wildcard) también.