【发布时间】:2015-07-31 17:32:35
【问题描述】:
我有一个数字向量列表。其中一些向量是相同的,所以我想做的是找到一种简单快捷的方法将相同的向量组合在一起,并为每组相同的向量创建一个列表,并可能保存我们刚刚创建的所有列表进入一个巨大的列表。任何帮助将不胜感激!
【问题讨论】:
-
有例子吗?
?identical,?all.equal
我有一个数字向量列表。其中一些向量是相同的,所以我想做的是找到一种简单快捷的方法将相同的向量组合在一起,并为每组相同的向量创建一个列表,并可能保存我们刚刚创建的所有列表进入一个巨大的列表。任何帮助将不胜感激!
【问题讨论】:
?identical, ?all.equal
这是一个例子:
x <- list(v1= 1:3, v2 = 2:3, v3 = 2:3, v4 = 1:3, v5 = 4)
您可以使用match 和unique 为列表的每个元素分配一个“组ID”:
ux <- unique(x)
# str(ux)
# List of 3
# $ : int [1:3] 1 2 3
# $ : int [1:2] 2 3
# $ : num 4
gid <- match(x,ux)
# [1] 1 2 2 1 3
gid 对应于ux 的一个元素。
无论你想从那里做什么都非常简单,比如ave(x, gid, FUN=some_function)。
【讨论】: