-1

以下のようなトランザクション形式で 100,000 行のデータセットがあります

B038-82C81778E81C   Toy Story
B038-82C81778E81C   Planet of the apes
B038-82C81778E81C   Iron Man
9C05-EE9B44E8C18F   Bruce Almighty
9C05-EE9B44E8C18F   Iron Man
9C05-EE9B44E8C18F   Toy Story
8F59-9956070D8005   Toy Story
8F59-9956070D8005   Gravity
8F59-9956070D8005   Iron Man
8F59-9956070D8005   Gone
B52F-9936734525AF   Planet of the Apes
B52F-9936734525AF   Bruce Almighty

以下のようにマトリックス形式に変換したい(またはTRUE / FALSEフラグ)

Matrix              Toy Story  Planet of the Apes  Iron Man  Bruce Almighty   Gone  Gravity
B038-82C81778E81C    1             1                 1             0            0     0
9C05-EE9B44E8C18F    1             0                 1             1            0     0 
8F59-9956070D8005    1             0                 1             0            1     1
B52F-9936734525AF    0             1                 0             1            0     0

次の手順を試しました

TrnsDataset1<-read.transactions("~/Desktop/movieswid_1Copy.txt", format= c("single"), sep="\t", cols = c(1,2), rm.duplicates=TRUE);
L <- as(TrnsDataset1,"list");
M <- as(L,"matrix")
CM<- as (M,"ngCMatrix");

しかし、私のリスト変換では、出力を次のように取得しています

B038-82C81778E81C   c("Toy Story\nB038-82C81778E81C\tPlanet of the apes\nB038-82C81778E81C\tIron Man")
9C05-EE9B44E8C18F   c("Bruce Almighty","Iron Man","Toy Story")

したがって、一部の行は完璧ですが、一部の行では、一意の ID が \t および \n を使用してムービー リストに追加されています。

以下の形式のリストが欲しい 9C05-EE9B44E8C18F c("Bruce Almighty","Iron Man","Toy Story")

このようにして、必要な結果を簡単に達成できると思います。あなたの助けを本当に感謝します.

4

1 に答える 1

0

あなたは2つのものが欲しいと言っているので、私は少し混乱しています. 疎行列だけが必要な場合は、リストと標準の行列変換をスキップできます。あなたはただすることができます

TrnsDataset1 <- read.transactions(...);
mm <- t(as(TrnsDataset1,"ngCMatrix"))

これにより、

4 x 6 sparse Matrix of class "ngCMatrix"
                  Bruce Almighty Gone Gravity Iron Man Planet Toy Story
8F59-9956070D8005              .    |       |        |      .         |
9C05-EE9B44E8C18F              |    .       .        |      .         |
B038-82C81778E81C              .    .       .        |      |         |
B52F-9936734525AF              |    .       .        .      |         .

これは、真/偽の値のマトリックスです (ここでは、スペースに収まるように省略しています)。リストフォームを通過する必要はまったくありません。

于 2014-07-26T05:42:47.030 に答える