从列表组合计算值然后应用

时间:2017-10-16 18:44:57

标签: r dataframe matrix combinations permutation

我希望获取4个向量(年份,类型,更新,百分比)并定义所有可能的组合(modscombo),然后将这些值组合应用于值(位置)的主矢量作为乘数。

示例:

year <- c("Pre-95", "95-01", "02-13")
type <- c("A","B","C")
update <- c("Pre-08", "08-13", "14-18")
percent <- c(1,2,3)
modifiers <- data.frame(year, type, update, percent)
modscombo <- expand.grid(modifiers)

...一旦我有修饰符的每个组合......我想将每个修饰符应用于下面的每个位置值:

area <- c(12345,67890,01234,11111,22222,33333,44444,55555,66666,77777,88888,99999)
location <- data.frame(area)

我可以通过expand.grid代码从列表中生成所有组合,但我希望在大位置值向量中应用每个结果。完成此任务的最佳方法是什么?某种矩阵?

任何帮助都会很棒!谢谢!

* #######为了扩展,我被要求建立一个基本的定价率表(它将位于应用程序的后台)。 4个向量中的每个单独变量(年份,类型,更新,百分比)是具有权重/乘数的因子。每个向量按从最差到最佳等级的顺序排列。因此,4个向量与“Pre-95”年份,“A”类型,更新“08之前”和百分比“1”的组合将是最差的评级(我计划稍后添加实际值/评级) )。

总共将有300种可能的评级组合和约30,000个位置。最终目标是将所有300个评级/乘数组合应用于位置矢量中的每个位置值。每个位置都有自己的评级,因此每个位置乘以300种组合中的每一种都会产生独特的结果。 ########

0 个答案:

没有答案