我目前有三个数据框 A、B、C,并致力于计算每个人的 P 和 H 值。数据框是每个指标的权重。在 B 数据框中,每一行表示不同的人,每行中的所有值表示每个人的不同指标。每个人都有 8 个 p 值。当我计算 P1-P8 值时,这是一个棘手的过程,因为我需要检索 A 中每一列的值,B 中每一行的值。
例如,对于第一个人,他们有八个 P 值。首先,P1 = a11(a1 列的第一个值)* d11(第一行的第一个值)+ a12(a1 列的第二个值)* d2i1(第一行的第二个值)+ .... + a18(第 8 个值) a1 列)* d4iii1(第 1 行的第 8 个值)
类似地,P n ( n =1,2,3,4,5,6,7,8 即 P 的数量) 等于 a n 1 ( n列的第一个值) * d1 (第一行的第一个值) + a n 2 * d2i n + ... + a n 8(第n列的第 8 个值)* d4iii n(第 1 行的第 8 个值)。
只要我们得到P值,对于这个人,H = (c1 * p1 + c2 * p2 + ... + c8 * p8) / (c值之和)
这是计算第一人称的 P 和 H 值的过程。如果我想为其他人获取这些,我需要切换到 B 数据框中的另一行。对于第二个人,P1 = a11(a1 列的第一个值)* d11(第二行的第一个值)+ a12(a1 列的第二个值)* d2i1(第二行的第二个值)+ .... + a18(第 8 个) a1 列的值)* d4iii1(第 2 行的第 8 个值)
等等.....
我想知道如何为每个人自动生成 Pn 变量(因为我的数据集中有很多人,他们自己都有 8 个 P 值)并将它们存储在一个带有他们的 id 的新数据框中(即在数据框 B 中他们属于哪一行)。以及如何获取每个人的 H 值并将它们存储在带有其 id 的新数据框中。我需要使用for循环吗?
提前致谢。这个问题已经困扰我很久了。
下面是数据框A
a1 a2 a3 a4 a5 a6
[1,] 0.3692138 0.1996207 0.33206893 -0.56119398 -0.08408712 0.26602100
[2,] 0.3145976 0.1092697 -0.73795950 -0.05969218 -0.30413354 0.03878391
[3,] 0.2460529 -0.5651003 -0.39410544 -0.32388500 0.40546811 0.14228006
[4,] 0.3222877 0.4139147 -0.17635789 0.59190345 0.32542055 0.14541092
[5,] 0.3411728 0.4788865 0.05223981 -0.32157631 0.36949738 -0.40617999
[6,] 0.4343109 -0.0797815 0.08669171 0.09679937 -0.67808516 -0.19700746
[7,] 0.4087344 -0.1867772 0.31806058 0.23704899 0.07403367 0.58710855
[8,] 0.3580635 -0.4323943 0.21752657 0.23931841 0.16828680 -0.58124876
a7 a8
[1,] -0.5049092 0.2566187
[2,] -0.2824577 -0.4088489
[3,] 0.2393132 0.3434825
[4,] -0.1243642 0.4481563
[5,] 0.4220109 -0.2617724
[6,] 0.4172609 0.3397135
[7,] 0.2169848 -0.4933922
[8,] -0.4396189 -0.1442195
下面是数据框B
d1 d2i d2ii d3i d3ii
[1,] 2.2274980 0.2326252 -0.36403204 1.0739447 1.755403659
[2,] -0.3992994 -0.5938799 -0.43979975 -0.6239955 0.003876488
[3,] 0.6507902 1.3874935 -0.00927353 1.4067272 1.585108666
[4,] -0.8035235 -1.0849895 -1.02000495 -1.0752411 -1.040682924
[5,] -1.0362378 0.1243315 -0.50852517 1.3145696 -0.481857193
[6,] -0.6401465 -0.9604119 -0.38205492 -1.0742542 -0.873746856
[7,] -0.3017772 -0.9956345 -0.48684163 -0.5369783 -0.451910416
[8,] -0.1562037 1.5676411 0.95787726 -0.1114577 -0.249915890
[9,] 0.4588999 0.3228244 2.25265473 -0.3733147 -0.246275535
d4i d4ii d4iii
[1,] 1.82026675 1.6995820 1.0502324
[2,] -0.54785322 -0.7978294 -0.5473042
[3,] -0.06861184 -0.2715582 -0.5473042
[4,] -1.09490583 -1.1478482 -0.8135603
[5,] 0.32763531 0.5250373 0.5177202
[6,] -0.96009257 -0.8268047 -0.6804322
[7,] -0.97214626 -0.3313835 -0.8135603
[8,] 0.53548889 -0.2468898 -0.2144841
[9,] 0.96021878 1.3976945 2.0486927
数据框 C
[1,] 4.860280668
[2,] 1.526722855
[3,] 0.892681697
[4,] 0.546369771
[5,] 0.127146103
[6,] 0.036401438
[7,] 0.010293019
[8,] 0.000104449