我担心数据的组织以及简化某些多层数据的最佳方法。简而言之,我有10个重复的小木梁( BeamID ,〜10)经过10种不同的处理( TreatID ,〜10),并且对每个木梁进行了负载测试它会产生 Load 的一系列数据,并随之产生 Displacement (每个测试介于10到50行之间;我有纠正行长差异的代码)。每个木梁都要进行多次测试( Rep ,〜10)。
我的计划是将所有这些数据集中到一个5维数组中:
Array[Load, Deflection, BeamID, TreatID, Rep]
这样,我应该能够通过使用 BeamID , TreatID ,对于所有 Reps 为给定的 BeamID , TreatID 绘制载荷变形曲线Array [,,1,1,],对吗?因此,Array [,,1,1,1]的假设输出为:
+------------+--------+-----+
| Deflection | Load | Rep |
+------------+--------+-----+
| 0 | 0 | 1 |
| 6.35 | 10.5 | 1 |
| 12.7 | 20.8 | 1 |
| 19.05 | 45.3 | 1 |
| 25.4 | 75.2 | 1 |
+------------+--------+-----+
而Array [,,1,1,2]为:
+------------+--------+-----+
| Deflection | Load | Rep |
+------------+--------+-----+
| 0 | 0 | 2 |
| 7.3025 | 12.075 | 2 |
| 14.605 | 23.92 | 2 |
| 21.9075 | 52.095 | 2 |
| 29.21 | 86.48 | 2 |
+------------+--------+-----+
或者我想我可以将其保留为一个更简单的“融合”数据框,其中将包含“载荷和挠度”列,并且将对每行重复“ BeamID”,“ TreatID”和“ Rep”测试输出。
+------------+--------+-----+--------+---------+
| Deflection | Load | Rep | BeamID | TreatID |
+------------+--------+-----+--------+---------+
| 0 | 0 | 1 | 1 | 1 |
| 6.35 | 10.5 | 1 | 1 | 1 |
| 12.7 | 20.8 | 1 | 1 | 1 |
| 19.05 | 45.3 | 1 | 1 | 1 |
| 25.4 | 75.2 | 1 | 1 | 1 |
| 0 | 0 | 2 | 1 | 1 |
| 7.3025 | 12.075 | 2 | 1 | 1 |
| 14.605 | 23.92 | 2 | 1 | 1 |
| 21.9075 | 52.095 | 2 | 1 | 1 |
| 29.21 | 86.48 | 2 | 1 | 1 |
+------------+--------+-----+--------+---------+
但是,对于后者,我不确定如何轻松,离散地提取特定BeamID和TreatID的所有Rep测试值,尤其是因为我使用线性模型来拟合特定参数的三阶多项式测试以提取曲线的斜率。将其作为连续的数据帧意味着我必须指定起点和终点才能启动线性模型,对吗?
有什么建议吗?使用5-D阵列是否朝着正确的方向前进? R对我来说是一种新的编程语言,所以请原谅我的误会。