0

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 ストロベリー、バナナ

4

1 に答える 1

1

次のスニペットを使用して、groupby (Set) の結果を後処理できます (column1はグループ内の値の Set です)。

String [] res = c_column1;
java.util.Arrays.sort(res);
out_column1 = res;

スニペット コンテンツ

于 2016-06-03T15:25:24.160 に答える