<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一个专栏,其中包含对调查问题的开放式回复。我想创建列中出现的所有相邻单词对的频率表。
我熟悉“分类分析”,它创建了单个词的频率表。我怀疑,作为创建频率表的过程的一部分,该过程还会创建一个包含所有单个单词的表格 - 每行一个单词。如果我可以创建这个表,我可以将表连接到自己并将连接偏移1个记录。关于如何创建一个单独的单词转换表的任何想法?
这是一些初学者JSL;你会想要重新工作一点,以满足你的要求。 它使用关联数组来计算相邻字对的频率。 它假设您不希望从一行的末尾到下一行的开头(以及其他假设)。
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];