【发布时间】:2018-11-28 13:02:57
【问题描述】:
我有一个“Exp”数据集,如下所示:
Locals Res Ind
1 112 7.865 4.248
2 113 4.248 5.666
3 114 5.666 2.444
4 115 2.444 7.865
5 116 7.865 4.248
6 117 4.248 6.983
7 118 5.666 3.867
8 119 2.444 2.987
我还有另一个名为“Com”的数据集,如下所示:
113 112 113
112 114 119
116 118 119
118 118 119
117 117 119
117 117 119
基于“Com”数据集中的值,我提取了一个对应的值作为“Res”和“Ind”matrix 的一部分。
例如 - Com 数据集中的第一个值是 113,所以在 Res matrix 中的第一个值将是 4.248 - 因为 Exp 的第一列 113 中的对应值是 4.248。这样 'Res' matrix 看起来像这样
4.248 7.865 4.248
7.865 5.666 2.444
7.865 5.666 2.444
5.666 5.666 2.444
4.248 4.248 2.444
4.248 4.248 2.444
现在基于上面的'Res'数据集,我想用2减去第一个row,用5减去其余的rows。然后我想根据Com数据集的值把上面数据集的值加起来。例如Com数据集中有两个113,Res数据集中对应的值为(4.248 - 2) + (4.248 - 2)。所以它等于4.496。输出表应如下所示:
Locals Dam
112 8.73
113 4.496
114 0.666
115 0
116 2.865
117 -3.008
118 1.998
119 -12.78
任何人都可以建议一种在 R 上执行此操作的简单方法。如果这是在数据列表上完成的,那么最好的方法是什么
提前致谢
【问题讨论】:
标签: r dataframe matrix data-structures data-manipulation