【发布时间】:2015-07-01 00:46:15
【问题描述】:
我有一个 csv 格式的 SQL 数据集,这是表/数据结构。
Order ID Items
O1 Beer
O1 Wine
O2 Beer
O2 Wine
O3 Beer
O4 Chips
我需要将它在R中转换成以下格式
O1 Beer,Wine
O3 Beer,Chips
感谢任何帮助。
我尝试了以下方法:
# MOCK DAtA
o1 <- c("beer","Wine")
o2 <- c("beer","Wine")
o3 <- c("beer","Chips")
o4 <-c("Curd","chips")
o5 <-c("beer")
o6<-c("Wine")
o7 <-c("fruits")
o8<- c("wine","Cheese")
order <- list(o1,o2,o3,o4,o5,o6,o7,o8)
library(Arules)
dt <- as (order,"transactions")
-
输出:
str(order) List of 8 $ : chr [1:2] "beer" "Wine" $ : chr [1:2] "beer" "Wine" $ : chr [1:2] "beer" "Chips" $ : chr [1:2] "Curd" "chips" $ : chr "beer" $ : chr "Wine" $ : chr "fruits" $ : chr [1:2] "wine" "Cheese" str(dt) Formal class 'transactions' [package "arules"] with 4 slots ..@ transactionInfo:'data.frame': 0 obs. of 0 variables ..@ data :Formal class 'ngCMatrix' [package "Matrix"] with 5
注意:我无法在 SQL 中更改它,因为我有 800K 行。
【问题讨论】:
-
请付出一些努力。到目前为止,您尝试了什么?
-
I cannot change this in SQL because I have 800K rows-- 是什么让您认为 R 比 SQL 更适合解决这个问题? -
我是 R 新手,仍在探索它,我能够将列表转换为事务,我的思考过程是检查是否可以将事务级别数据转换为列表。
-
当然你应该在SQL中这样做,也许它会更有效率。您的 Teradata 版本是什么?
-
版本 Teradata 13.10.07.12