Java の経験はほとんどありませんが、何らかの理由で KNIME Analytics Platform で R スニペットを使用できないため (Java スニペットは機能します)、Java で次の R コードが何を行うかを知りたいと思います。
library(dplyr)
Object <- dataset %>% group_by(Dimension1) %>% summarise(Set = toString(unique(sort(Dimension2))))
次のような長形式のデータを取得しました。
番号 値
1 アップル
1 オレンジ
1 バナナ
1 アップル
2 オレンジ
2 バナナ
2 アップル
3 ストロベリー
3 バナナ
4 バナナ
4 バナナ
4 ストロベリー
KNIME の「Group By」ノードを使用すると、Nr ごとに集計できます。ソートされたリストまたは一意の値のセットとして (残念ながらランダムにソートされています)。ただし、次のような一意の値の並べ替えられたリスト (アルファベット順など) が必要です。
番号 値
1 アップル バナナ オレンジ
2 アップル バナナ オレンジ
3 バナナ ストロベリー
4 バナナ ストロベリー
Java(または可能であればKNIME)でそれを行うにはどうすればよいですか?
Group-by-node の出力は、次のような文字列です。
1 オレンジ、アップル、バナナ
2 アップル、バナナ、オレンジ
3 バナナ、ストロベリー
4 ストロベリー、バナナ