【发布时间】:2012-12-12 09:03:07
【问题描述】:
假设我有一个长度为 150000 的字符向量。向量中的字符串不是唯一的,实际上它们是正态分布的,最常见的字符串出现 28 次,另外 24 次,超过 1000 次出现超过5次。我想将向量分成 28 个较小的向量,将字符串分布在较小的向量中,这样每个较小的向量中没有字符串出现超过两次,理想情况下只有一次(或不存在)。我需要保留每个字符串,所以我不能只做!duplicated() 理想情况下,向量的大小应该差不多。
我该怎么做呢?
我正在考虑像开始添加到第一个向量直到遇到第一个非唯一字符串,跳过它,继续填充跳过非唯一字符串直到达到 150000/28 = 5357,然后继续其他向量以相同的方式从父向量中删除字符串,一旦它们被分配给一个较小的向量?这有什么问题吗?没有令人讨厌的 for 循环森林的有效方法?
【问题讨论】:
-
已编辑以阐明矢量应该大致相同。
标签: string r distribution