0

I have a data table df

field_pointpath | timestamp           | Value | value1
:-------------: | :-------:           | :----:| :----:
6kfs_A0         | 2017-05-01 00:04:00 |    10 | NA
6kfs_A0         | 2017-05-01 00:34:00 |    20 | NA
6kfs_A0         | 2017-05-01 01:34:00 |    40 | NA
6kfs_B0         | 2017-05-01 00:40:00 |    10 | NA
8kfs_A0         | 2017-05-01 00:40:00 |    5  | NA
8kfs_A0         | 2017-05-01 00:46:00 |    15 | NA
8kfs_B0         | 2017-05-01 00:40:00 |    5  | NA
8kfs_B0         | 2017-05-01 01:40:00 |    30 | NA

Now I want to create a function such that if df$field_pointpath = 6kfs_A0 has earliest timestamp than its value should be replaced as zero (df$value1 = 0) again function should apply the following condition in next row

if df$field_pointpath = 6kfs_A0 than df$value1 = abs(df[2,3] - df[1,3] + df[1,4])

thus the result should be

field_pointpath | timestamp           | Value | value1
:-------------: | :-------:           | :----:| :----:
6kfs_A0         | 2017-05-01 00:04:00 |    10 | 0
6kfs_A0         | 2017-05-01 00:34:00 |    20 | 10
6kfs_A0         | 2017-05-01 01:34:00 |    40 | 30
6kfs_B0         | 2017-05-01 00:40:00 |    10 | 0
8kfs_A0         | 2017-05-01 00:40:00 |    5  | 0
8kfs_A0         | 2017-05-01 00:46:00 |    15 | 10
8kfs_B0         | 2017-05-01 00:40:00 |    5  | 0
8kfs_B0         | 2017-05-01 01:40:00 |    30 | 25

0 Answers0