Cómo convertir un marco de datos en transacciones para la minería de reglas de asociación

Asumiendo que conoces todos los artículos únicos. Digamos que son (A, B, C, D, E)

entonces puedes usar esta pequeña función:

grepTF = función (patrón, x) {
y = grep (patrón, x);
z = rep (F, longitud (x))
z [y] = T
volver (z)
}

~~~~~~~~~~~~~~~~~~~~~
Digamos que sus transacciones se guardan en el vector T, luego puede hacer el conjunto de datos deseado de la siguiente manera:

arule_data = data.frame (A = grepTF (“A”, T),
B = grepTF (“B”, T)
C = grepTF (“C”, T)
D = grepTF (“D”, T)
E = grepTF (“E”, T)
)

~~~~~~~~~~~~~~~~~~~~~
Ahora, si no sabe cuáles son todos los valores únicos [productos] en sus transacciones, puede intentar lo siguiente:

productos = personaje ()
para (i en 1: longitud (T)) {
productos = único (c (productos, único (strsplit (T [i], “,”) [[1]])))
}

Los productos vectoriales aquí contendrán nombres de productos únicos.

Puede probar la función base R unique() para obtener valores únicos de cada fila después de la subconfiguración.

Escriba? Unique en la consola R para obtener la descripción completa de la función y cambiar los argumentos y obtener los resultados que desea.

Espero eso ayude.

Intenta preguntar esto en stackoverflow.

  1. Hay una buena posibilidad de que este problema ya se haya solucionado
  2. Las soluciones de programación en Quora son incómodas en el mejor de los casos; algunas personas los hacen, pero la mayoría de los usuarios tienden a no responder preguntas de programación
  3. Hay más programadores allí que podrán ayudarte si la pregunta es realmente nueva.

Por lo que deduzco, desea un vector con todos los elementos únicos de nivel de fila.
Si esto es lo que desea, puede hacer una columna que tenga una única de la columna 2, luego ejecutar un bucle para agregar todos los elementos en esta nueva columna para obtener el vector requerido.

Puede intentar usar read.transactions () o x = as (datos, “transacciones”)