R for Apriori 中的数据操作
Data Manipulation in R for Apriori
我有一部分数据集,如下所示,格式为csv,行数和列数比shown.I想在这个数据集上实现先验,说我有这个:-
Maths Science C++ Java DC
[1] 75 44 55 56 88
[2] 56 88 54 78 44
原始数据集总列数(代表科目)=30,序号(代表学生)=24,
数据集:link
我想以如下所示的形式隐藏此数据集:-
[1] {Maths,DC}
[2] {Science,Java}
即包含学生 colnames.A 列表的列表列表(我想这就是所谓的)显示哪个科目 he/she 得分大于或等于 75 分,休息的主题被删除(问题的唯一条件)
eq:- 第一位学生在 Dc 和数学中获得 75+ 分,因此他的列表仅包括 dc 和数学。
我很抱歉 post 这样做,但我在堆栈上搜索了很多,找到了一些工作建议,但无法达到最终目标。
我的目标是获得这样的表格:-
[9834] {semi-finished bread,
bottled water,
soda,
bottled beer}
[9835] {chicken,
tropical fruit,
other vegetables,
vinegar,
shopping bags}
如 :-
library(arules)
inspect(Groceries)
或者如果有人能建议一种方法来表示 APRIORI 可以理解的其他形式的数据,我将不胜感激,但它应该遵循规定的必要条件。
*(很抱歉 post,我希望我的数据集以这种格式转换可以帮助我研究学生主题数据集中的模式,感谢所有帮助)
library(plyr)
library(arules)
df <- read.table(text =
" 75 44 55 56 88
56 88 54 78 44")
names(df) <- c("Maths", "Science", "C++", "Java", "DC")
transactions <- as(alply(df, 1, function(x) names(x)[x >= 75]), "transactions")
inspect(transactions)
# items transactionID
# [1] {DC,Maths} 1
# [2] {Java,Science} 2
编辑:它也适用于您的示例数据集:
library(plyr)
library(arules)
df <- read.csv(file = url("https://drive.google.com/uc?export=download&id=0B3kdblyHw4qLR0dpT24xWUZGcGs"))
transactions <- as(alply(df, 1, function(x) names(x)[x >= 75]), "transactions")
inspect(transactions)
# items transactionID
# [1] {CD,CG,CN,DA,Data.Struc} 1
# [2] {CD,CG,CO,ML,OS} 2
# [3] {CN,Data.Struc,DC,DM,DMS} 3
# [4] {CHE,DD,DM,EC,EE} 4
# [5] {CHE,CN,MATHS,PHY} 5
# [6] {Data.Science,DM,DMS,ML,OS} 6
# [7] {CD,DA,Data.Struc,EC,MATHS} 7
# [8] {CG,CHE,CN,CO,OS} 8
# [9] {CN,CO,Data.Science,DC,DMS} 9
# [10] {DC,DD,EC,EE,PHY} 10
# [11] {CHE,DD,DMS,MATHS,PHY} 11
# [12] {CN,Data.Science,DM,MATHS,ML} 12
# [13] {CD,CG,DA,Data.Science,Data.Struc} 13
# [14] {CG,CO,EE,MATHS,OS} 14
# [15] {CN,CO,DC,DMS,PHY} 15
# [16] {CN,CO,DD,EC,EE} 16
# [17] {CHE,DA,EE,MATHS,PHY} 17
# [18] {Data.Science,DD,DM,ML,PHY} 18
# [19] {CD,CO,DA,Data.Struc,DC} 19
# [20] {CG,CO,DD,DM,OS} 20
# [21] {CG,CN,DA,DC,DMS} 21
# [22] {DD,EC,EE,ML,OS} 22
# [23] {CHE,CN,Data.Struc,MATHS,PHY} 23
# [24] {CG,Data.Science,DM,EE,ML} 24
我有一部分数据集,如下所示,格式为csv,行数和列数比shown.I想在这个数据集上实现先验,说我有这个:-
Maths Science C++ Java DC
[1] 75 44 55 56 88
[2] 56 88 54 78 44
原始数据集总列数(代表科目)=30,序号(代表学生)=24,
数据集:link
我想以如下所示的形式隐藏此数据集:-
[1] {Maths,DC}
[2] {Science,Java}
即包含学生 colnames.A 列表的列表列表(我想这就是所谓的)显示哪个科目 he/she 得分大于或等于 75 分,休息的主题被删除(问题的唯一条件)
eq:- 第一位学生在 Dc 和数学中获得 75+ 分,因此他的列表仅包括 dc 和数学。
我很抱歉 post 这样做,但我在堆栈上搜索了很多,找到了一些工作建议,但无法达到最终目标。 我的目标是获得这样的表格:-
[9834] {semi-finished bread,
bottled water,
soda,
bottled beer}
[9835] {chicken,
tropical fruit,
other vegetables,
vinegar,
shopping bags}
如 :-
library(arules)
inspect(Groceries)
或者如果有人能建议一种方法来表示 APRIORI 可以理解的其他形式的数据,我将不胜感激,但它应该遵循规定的必要条件。
*(很抱歉 post,我希望我的数据集以这种格式转换可以帮助我研究学生主题数据集中的模式,感谢所有帮助)
library(plyr)
library(arules)
df <- read.table(text =
" 75 44 55 56 88
56 88 54 78 44")
names(df) <- c("Maths", "Science", "C++", "Java", "DC")
transactions <- as(alply(df, 1, function(x) names(x)[x >= 75]), "transactions")
inspect(transactions)
# items transactionID
# [1] {DC,Maths} 1
# [2] {Java,Science} 2
编辑:它也适用于您的示例数据集:
library(plyr)
library(arules)
df <- read.csv(file = url("https://drive.google.com/uc?export=download&id=0B3kdblyHw4qLR0dpT24xWUZGcGs"))
transactions <- as(alply(df, 1, function(x) names(x)[x >= 75]), "transactions")
inspect(transactions)
# items transactionID
# [1] {CD,CG,CN,DA,Data.Struc} 1
# [2] {CD,CG,CO,ML,OS} 2
# [3] {CN,Data.Struc,DC,DM,DMS} 3
# [4] {CHE,DD,DM,EC,EE} 4
# [5] {CHE,CN,MATHS,PHY} 5
# [6] {Data.Science,DM,DMS,ML,OS} 6
# [7] {CD,DA,Data.Struc,EC,MATHS} 7
# [8] {CG,CHE,CN,CO,OS} 8
# [9] {CN,CO,Data.Science,DC,DMS} 9
# [10] {DC,DD,EC,EE,PHY} 10
# [11] {CHE,DD,DMS,MATHS,PHY} 11
# [12] {CN,Data.Science,DM,MATHS,ML} 12
# [13] {CD,CG,DA,Data.Science,Data.Struc} 13
# [14] {CG,CO,EE,MATHS,OS} 14
# [15] {CN,CO,DC,DMS,PHY} 15
# [16] {CN,CO,DD,EC,EE} 16
# [17] {CHE,DA,EE,MATHS,PHY} 17
# [18] {Data.Science,DD,DM,ML,PHY} 18
# [19] {CD,CO,DA,Data.Struc,DC} 19
# [20] {CG,CO,DD,DM,OS} 20
# [21] {CG,CN,DA,DC,DMS} 21
# [22] {DD,EC,EE,ML,OS} 22
# [23] {CHE,CN,Data.Struc,MATHS,PHY} 23
# [24] {CG,Data.Science,DM,EE,ML} 24