【发布时间】:2015-05-29 17:40:15
【问题描述】:
我有两个矩阵: 矩阵 1,一个带有 :
的向量matrix(c(0.16, 0.24, 0.16, 0.08, 0.09, 0.12, 0.06, 0.04, 0.04, 0.01))
实际上,我使用“FOR”函数创建它,使用频率为 0.4、0.3、0.2、0.1 的 Punnett 方格。
其次,我有矩阵 2:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "A 1 A 1" "B 1 B 1" "C 1 C 1" "D 1 D 1" "E 1 E 1" "F 1 F 1" "G 1 G 1" "H 1 H 1" "I 1 I 1" "J 1 J 1"
[2,] "A 1 A 2" "B 1 B 2" "C 1 C 2" "D 1 D 2" "E 1 E 2" "F 1 F 2" "G 1 G 2" "H 1 H 2" "I 1 I 2" "J 1 J 2"
[3,] "A 1 A 3" "B 1 B 3" "C 1 C 3" "D 1 D 3" "E 1 E 3" "F 1 F 3" "G 1 G 3" "H 1 H 3" "I 1 I 3" "J 1 J 3"
[4,] "A 1 A 4" "B 1 B 4" "C 1 C 4" "D 1 D 4" "E 1 E 4" "F 1 F 4" "G 1 G 4" "H 1 H 4" "I 1 I 4" "J 1 J 4"
[5,] "A 2 A 2" "B 2 B 2" "C 2 C 2" "D 2 D 2" "E 2 E 2" "F 2 F 2" "G 2 G 2" "H 2 H 2" "I 2 I 2" "J 2 J 2"
[6,] "A 2 A 3" "B 2 B 3" "C 2 C 3" "D 2 D 3" "E 2 E 3" "F 2 F 3" "G 2 G 3" "H 2 H 3" "I 2 I 3" "J 2 J 3"
[7,] "A 2 A 4" "B 2 B 4" "C 2 C 4" "D 2 D 4" "E 2 E 4" "F 2 F 4" "G 2 G 4" "H 2 H 4" "I 2 I 4" "J 2 J 4"
[8,] "A 3 A 3" "B 3 B 3" "C 3 C 3" "D 3 D 3" "E 3 E 3" "F 3 F 3" "G 3 G 3" "H 3 H 3" "I 3 I 3" "J 3 J 3"
[9,] "A 3 A 4" "B 3 B 4" "C 3 C 4" "D 3 D 4" "E 3 E 4" "F 3 F 4" "G 3 G 4" "H 3 H 4" "I 3 I 4" "J 3 J 4"
[10,] "A 4 A 4" "B 4 B 4" "C 4 C 4" "D 4 D 4" "E 4 E 4" "F 4 F 4" "G 4 G 4" "H 4 H 4" "I 4 I 4" "J 4 J 4"
我想要一个新表(行 = 100,列 = 10),矩阵 2 的每一列具有矩阵 1 的频率。所以我将有 16 次“A1A1”,24 次“A1A2”等等。其他列也是如此。 但我想对任何频率(矩阵 1)和矩阵 2 的任意数量的列行执行此操作。
【问题讨论】:
-
JAL,我也在尝试函数“FOR”:pop.mae
-
将
rep函数与apply结合使用,其中应用按列完成。您需要将该频率向量转换为总和为 100 的整数向量(输出矩阵中所需的列数) -
Pafnucy,我觉得我很愚蠢,jeje..实际上我已经在其他情况下使用了函数 apply ,但我无法想象如何“混合”这些矩阵并做一个100 行和 10 列的矩阵 2 中的数据使用函数 apply,如果我没有要求太多,你能帮我这样做吗?非常感谢 JAL 和 Pafnucy!
标签: r matrix replication