我从MySQL表中获取数据,该表有2列(idDoc,tag),描述文档具有给定标记。当我使用数据框
时ddply(tags,1)
我的目标是按ID对标签进行分组,所以我要执行以下步骤
> x=c(1,1,2,2)
> y=c(4,5,6,7)
> data.frame(x,y)
x y
1 1 4
2 1 5
3 2 6
4 2 7
我想要的输出可能是列表(或其他任何结果)
1 -> c(4,5)
2 -> c(6,7)
此致
答案 0 :(得分:2)
这是一个黑暗中的镜头,因为当你说你想要一个'关联'时,它并没有真正准确地描述任何特定的R数据结构,因此不清楚你希望输出采用什么形式。 / p>
但是一个基本的R可能性就是简单地使用split
:
split(tags$tag, tags$idDoc)
应返回一个命名列表,其中名称来自idDoc
,每个列表元素是与该idDoc
值关联的标记。但是会有重复。所以这可能会更好:
tapply(tags$tag,tags$idDoc,FUN = unique)
应返回每个idDoc
的唯一标记列表。
(已编辑:无需匿名函数;只需传递unique
)。