【发布时间】:2020-08-19 04:37:37
【问题描述】:
晚上好
在工作室中
我在将这两个大小不同的矩阵相乘时遇到问题,而且情况变得更糟,因为我必须以这样一种方式相乘,即 d2$ID=1 行中的值必须仅相乘 w$sample=1 的重复。
sample 和 ID 表示是同一个 sample
换句话说,从“子集”d2$ID=1 开始,每个值(“L1”、“ST”、“GR”、“CB”、“HSK”、“DDM”)都必须乘以整个“子集” w$sample=1(在这种情况下为 4 行,但并非总是如此),是的,所有值“G2”、“G4”、“G6”、“G8”、“G12”
>d2
ID L1 ST GR CB HSK DDM
1 1 0.1662000 0.2337000 0.3637000 0.11110000 0.10100000 0.024300000
2 2 0.1896576 0.2280830 0.3705740 0.09406879 0.09319434 0.024422281
3 3 0.1110259 0.2217769 0.4180797 0.11122498 0.10902635 0.028866094
4 4 0.1558785 0.2008862 0.4222565 0.09805538 0.10218119 0.020742172
5 5 0.1536421 0.1674096 0.4205395 0.14362176 0.08635519 0.028431849
6 6 0.1841964 0.1514189 0.4603306 0.10243621 0.08928011 0.012337688
> w
sample G2 G4 G6 G8 G12
1 1 10.9 15.9 21.4 28.0 37.8
2 1 11.5 16.6 22.2 29.5 38.3
3 1 10.3 15.1 20.7 28.3 36.7
4 1 11.7 18.1 24.8 31.2 39.5
5 2 11.0 16.8 22.4 30.6 38.0
6 2 10.1 15.9 22.5 30.2 36.7
7 2 12.8 17.8 22.8 28.7 37.1
8 2 11.8 16.3 20.8 27.3 34.7
9 2 11.9 16.7 21.6 28.3 34.6
10 3 12.0 18.1 24.2 30.9 40.0
11 3 12.2 17.7 24.2 31.7 40.5
12 4 11.1 16.5 22.7 31.0 39.2
13 4 12.5 19.8 27.4 32.8 38.8
14 4 12.4 19.2 25.8 33.0 39.9
15 4 12.4 19.2 26.2 33.4 38.9
16 4 13.4 18.3 23.7 30.0 38.2
17 5 13.3 18.6 24.0 30.7 38.4
18 5 13.3 18.1 22.9 30.1 36.8
19 5 13.7 19.9 26.5 33.8 43.0
20 5 12.7 18.2 24.6 32.5 41.3
21 6 12.1 17.5 24.3 33.7 42.2
22 6 14.5 20.8 28.4 35.3 43.7
我已经检查了很多问题,但我无法弄清楚,特别是因为大部分信息都是针对相同大小的矩阵。
我尝试通过过滤来自d2的数据,但是数据集真的很大,那么效率真的很低。
我是一个初学者,如果你认为这很容易,我会感激至少一个提示,拜托! 我有几个像这样的数据集......
提前致谢!
【问题讨论】:
-
您期望
"every single value ("L1", "ST", "GR", "CB", "HSK", "DDM") has to multiply the whole "subset" w$sample=1提供多少值?您有 5 个和 6 个项目。您是否期望 d2 的每一行有 30 个值? -
是的,我预计 d2 的每一行都有 30 个值。注意:d2(ID=1)的第一行,要乘以 w$sample=1 对应的 4 行,以此类推
标签: r matrix matrix-multiplication