<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai une colonne qui contient des réponses ouvertes à une question du sondage. Je voudrais créer un tableau de fréquence de toutes les paires de mots adjacents qui apparaissent dans la colonne.
Je suis familier avec "l'analyse catégorique" qui crée un tableau de fréquence des mots individuels. Je pense que dans le cadre du processus de création du tableau de fréquences, le processus crée également un tableau de tous les mots individuels - un mot par ligne. Si je pouvais créer cette table, je pourrais simplement joindre la table à elle-même et décaler la jointure d'un enregistrement. Des idées sur la façon de créer un tableau avec les mots individuels transposés?
Voici un démarreur JSL; vous aurez envie de le retravailler un peu pour répondre à vos besoins. Il utilise un tableau associatif pour compter les fréquences des paires de mots adjacents. Cela suppose que vous ne voulez pas faire une paire de la fin d'une ligne au début de la suivante (entre autres hypothèses).
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];