【发布时间】:2016-01-08 23:52:27
【问题描述】:
我有 100,000 个 5 长度向量(下面的 VECTORS 列表),其元素是从一百万个值中选择的。
# dictionary
dictionary=seq(1:1e6)
# generate 100,000 5-length vectors whose elements are chosen from dictionary
VECTORS <- lapply(c(1:1e5), sample, x = dictionary, size =5)
我的问题是将每个完全相同的向量映射到一个整数,即我需要一个 mappy 函数来输入一个向量并产生一个整数。
例如mappy(c(58431, 976854, 661294, 460685, 341123))=15。你知道如何有效地做到这一点吗?
辅助问题:如果我的向量不再相同长度怎么办?
【问题讨论】:
-
没有足够的整数来映射
1e6^5可能的向量。 -
看来
match(VECTORS, unique(VECTORS))之类的东西也许会有所帮助
标签: r function dictionary hash