<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);
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 1, "SINGLE_THIS"=> 1, "TEST_A"=> 1, "TEST_TO"=> 1, "THE_LIGHT"=> 1, "OR_ANOTHER"=> 2, "SEE_IF"=> "THIS_IS"=> 4, "TIME_OR"=> 1, "TIME_THIS"=> 1, "TO_SEE"=> 2, => 0];