我从一个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)问候
发布于 2011-10-19 00:40:23
这是一种胡思乱想,因为当你说你想要一个“关联”时,这并不能准确地描述任何特定的R数据结构,所以不清楚你想要输出采用什么形式。
但一种基本的R可能性是简单地使用split
split(tags$tag, tags$idDoc)它应该返回一个命名列表,其中的名称来自idDoc,并且每个列表元素都是与该idDoc值关联的标记。尽管如此,还是会有重复的。所以这可能会更好的工作:
tapply(tags$tag,tags$idDoc,FUN = unique)它应该为每个idDoc返回唯一标签的列表。
(编辑:不需要匿名函数,只需要传入unique)
https://stackoverflow.com/questions/7810380
复制相似问题