作者HeroNoah ()
看板R_Language
标题Re: [问题] movielens将电影类别分类
时间Tue May 27 01:20:21 2014
※ 引述《locka (locka)》之铭言:
: [问题类型]:
:
: 程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
:
: [软体熟悉度]:
: 入门(写过其他程式,只是对语法不熟悉)
: [问题叙述]:
: 请简略描述你所要做的事情,或是这个程式的目的
: 不晓得这里有没有人在玩movielens的资料?
: 我从movielens 下载电影的资料 其中有一个叫做movies.dat的档案
: movielens 10M:
: http://grouplens.org/datasets/movielens/
: 经过我整理後存成一个三个栏位的data frame 如下:
: ID Title Genres
: 1 Toy Story Adventure|Animation|Children|Comedy|Fantasy
: 2 Jumanji Adventure|Children|Fantasy
: ... ... ...
yourData
: 电影的类型总共有18种 但上述Genres栏位只会显示该电影的类型
: 而我今天想要想要玩的是
: 针对Genres这个栏位做类似购物篮分析的事情,找出哪些电影属性相似
: 也就是想要产生一个data frame纪录电影类型的向量
: 例如如果某部电影是动作片则动作片栏位值为1 反之为0
: 最後想要产生的结果如下
: ID Adventure Animation Children Comedy Fantasy ......
: 1 1 1 1 1 1 ......
: 2 1 0 1 0 1 ......
: ... ... ... ... ... ... ......
: 我最初的想法是先为每种电影类型新增栏位 将其预设值设为0
: 然後逐一比对genres栏位 如果有match则将值改为1
: 不过当我输入以下指令以後
: movie <- data.frame("ID"=movies$V1, "Adventure", "Animation",...)
: 栏位变成
: ID X.Adventure X.Animation X.children.....
: 1 Action Animation Children
: 2 Action Animation Children
: ...
: 不知道该如何下手...(搔头)
: 亦或是有其他更好的作法也欢迎讨论
: 希望大家可以提点一下小的,感激不尽啊!
After reading README file,
there are some helpful information of the data.
## Try It
genre = read.csv(
file = "u.genre",
header = FALSE,
sep = "|",
stringsAsFactors = FALSE
)
myData = read.csv(
file = "u.item",
header = FALSE,
sep = "|",
stringsAsFactors = FALSE
)
myData = within(
data = myData,
expr = rm(V2, V3, V4, V5)
)
colnames(myData) = c("ID", genre$V1)
## Merge Two Data Frames, If You Need
merge(yourData, myData, by = "ID")
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 119.14.64.43
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/R_Language/M.1401124823.A.9D4.html