首页 > 解决方案 > R中有没有一种方法可以从列表中绘制而不用绘制的值替换不可用于后续绘制?

问题描述

我想用用户定义列表中的值填充一个矩阵(这部分还不重要)。从这些列表中选择应该是随机的,没有替换,直到列表用完。

例如,如果我们有 list_1 <- c(1,2,3) 和 list_2 <- c('a', 'b', 'c')

矩阵的 (1,1) 元素是从分配了 2 的 list_1 中提取的。(1,2) 元素从 list_1 中提取并分配为 3(2 不可用,因为它已被分配)。(1,3) 元素从 list_2 中提取并分配为“b”。元素 (2,1) 也从 list_1 中提取并分配为 2,因为这是 list_1 中唯一剩余的元素。这将一直持续到矩阵中的所有元素都被分配了一个值。矩阵中的元素数量与列表中的元素数量相同(总计)。

鉴于矩阵的结构,我不能简单地使用 C() 函数来组合多个向量并在每个向量中随机化。

由于本人是R新手,以上解释不清楚还请见谅。

提前感谢您的帮助。

编辑:矩阵中特定位置的基本原理是矩阵代表实验设计。矩阵中的每个位置可能代表一小块土壤。每个列表可能代表不同类型的种子,并且每个列表中的元素会根据种子类型变化。List_1 可能包含所有花卉种子(Rose、Daisy 等),List_2 可能包含所有草本种子(Parsley、Origano 等)。我想限制可以在特定地块种植的种子类型。然后从种子列表中随机选择实际分配给该地块的种子。一些地块允许包含随机分配的花卉种子,但不能包含草本种子。

因为我不想最终得到所有玫瑰,例如,一旦将玫瑰种子分配给地块,则应从列表中删除该种子选项。

例如,(1,1) 可能是一个“花”图,在此过程之后,将从花列表中随机选择一个种子,并将一个雏菊种子分配给 (1,1)。然后我们继续下一个“花”图,但现在雏菊种子不能用于分配,因为它不在列表中(因为它已经分配给 (1,1))。

我希望这更有意义。

标签: rexperimental-design

解决方案


推荐阅读