<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo una columna que contiene respuestas abiertas a una pregunta de una encuesta. Me gustaría crear una tabla de frecuencia de todos los pares de palabras adyacentes que aparecen en la columna.
Estoy familiarizado con el "análisis categórico" que crea una tabla de frecuencia de las palabras individuales. Sospecho que, como parte del proceso de creación de la tabla de frecuencias, el proceso también crea una tabla con todas las palabras individuales, una palabra por fila. Si pudiera crear esta tabla, solo podría unir la tabla a sí misma y compensar la unión en 1 registro. ¿Alguna idea sobre cómo crear una tabla con las palabras individuales transpuestas?
Aquí hay un JSL de arranque; querrá volver a trabajar un poco para que coincida con sus necesidades. Utiliza una matriz asociativa para contar las frecuencias de los pares de palabras adyacentes. Se supone que no desea hacer un par desde el final de una fila hasta el comienzo de la siguiente (entre otras suposiciones).
dt = New Table( "survey results",
New Column( "answers", Character, "Nominal",
Set Values(
{"this is a test; a test to see if this is going to see the light of day",
"another time, or another day, or another time-this is a test",
"duplicate. duplicate, double-double double single-this is a test"}
)
)
);
frequency = [=> 0]; // associative array that answers "Zero!" for non-existing key
For Each Row(
listOfWords = Words( Uppercase( dt:answers ), " ,-.;?_" );
For( i = 1, i < N Items( listOfWords ), i++,
frequency[listOfWords || "_" || listOfWords[i + 1]]++;
);
);
show(frequency);
frequency = ["A_TEST" => 4, "ANOTHER_DAY" => 1, "ANOTHER_TIME" => 2, "DAY_OR" => 1, "DOUBLE_DOUBLE" => 2, "DOUBLE_SINGLE" => 1, "DUPLICATE_DOUBLE" => 1, "DUPLICATE_DUPLICATE" => 1, "GOING_TO" => 1, "IF_THIS" => 1, "IS_A" => 3, "IS_GOING" => 1, "LIGHT_OF" => 1, "OF_DAY" => 1 , "OR_ANOTHER" => 2, "SEE_IF" => 1, "SEE_THE" => 1, "SINGLE_THIS" => 1, "TEST_A" => 1, "TEST_TO" => 1, "THE_LIGHT" => 1, "THIS_IS" => 4, "TIME_OR" => 1, "TIME_THIS" => 1, "TO_SEE" => 2, => 0];