根据特定要求减去 R 中的列(归一化)

Subtracting column in R as per specific requirement (normalisation)

我需要帮助来创建更正的数据框 X 从原始数据帧 X 的 first 2 列中减去数据帧 Y 的前 2 列。 从 last 原始数据帧 X

的 2 列中减去数据帧 Z 的前 2 列

更正后的数据帧 X (colA - colE)、(colB-colF)、(colC-colI)、(colD-colJ) 用于相同的时间戳值。

例如

原始数据框 X

Timestamp     A             B          C               D
00:00         12            10         30              20
00:05         15            12         11              10
00:10         14            11         13              19
00:15         15            15         13              15
00:20         10            13         11              17

数据框Y

Timestamp     E             F           G              H
00:00         9             0           8              0
00:05         1             2           1              1
00:10         8             1           4              9
00:15         12            5           6              5
00:20         1             3           9              7

数据帧Z

Timestamp     I             J           K              F
00:00         9             0           8              0
00:05         1             2           1              1
00:10         8             1           4              9
00:15         12            5           6              5
00:20         1             3           9              7

更正数据框 X

Timestamp     A             B           C              D
00:00         3             10          21             20
00:05         14            10          10              8
00:10         6             10          5              18
00:15         3             10          1              10
00:20         9             10          10             14

假设 'Timestamp' 是第一列,我们用 'Y' 减去 'X' 的第二和第三列,并通过分配输出更新第二和第三列。同样,我们用'Z'的第2和第3列减去'X'的第4和第5列。

X[,2:3] <- X[,2:3]-Y[,2:3]
X[,4:5] <- X[,4:5]-Z[,2:3]
X
#  Timestamp  A  B  C  D
#1     00:00  3 10 21 20
#2     00:05 14 10 10  8
#3     00:10  6 10  5 18
#4     00:15  3 10  1 10
#5     00:20  9 10 10 14