2017-09-12 14 views
1

私はCSVで大規模なデータセットを持っている:Rのarulesの(...、 "transactions")がトランザクションを失うように見えるのはなぜですか?

see attached image

  • は50,000行あり、各行が1つのトランザクションです。
  • 各トランザクションには最大5個のアイテムと最小1個のアイテムがあります。
  • 可能なアイテムの値は5000種類あります。
  • トランザクションに重複する項目はありません。

CSVをRStudioにロードしてunclass()を適用した後、私はas(...,"transactions")を適用します。

結果はこのようなものです:

# transactions in sparse format with 
# 5 transactions (rows) and 
# 1455 items (columns) 

代わり50,000取引の、唯一の今そこにあります。

すべての取引はどこにありますか?マトリックスは何とか転置されました(結果の行数はCSVの列数と同じです)。

これはデータ前処理の問題かもしれませんが、thisによると、入力データは適切な形式にする必要があります。

[私はここに初めて投稿してR/RStudioにかなり新しいですよ。]

答えて

0

はmanページ? transactionscoercion方法を見てください。バイナリ・インシデンス・マトリックス、トランザクションのリスト、またはカテゴリ変数のみを含むdata.frameのいずれかが必要であることがわかります。あなたのデータはas(..., "transactions")にこれらのいずれかではありません失敗します。

私はread.transactionsがあなたのデータを読むことができると思います。

library(arules) 

# create and write some data 
data <- paste(
    "item1,item2,,,", 
    "item1,,,,", 
    "item2,item3,,,", 
    sep="\n") 
write(data, file = "demo_basket") 

# read the data 
tr <- read.transactions("demo_basket", format = "basket", sep=",") 
inspect(tr) 

    items   
[1] {item1,item2} 
[2] {item1}  
[3] {item2,item3} 
関連する問題