Уважаемое сообщество Stackoverflow,
У меня есть набор данных с датами времени [posixct '% d.% M.% Y% H:% M'] и измерениями датчиков в [A] и [V].Datetime - это один столбец, а другие датчики - это другие столбцы, по одному столбцу для каждого датчика.
Я хотел бы рассчитать значение коррекции со значениями в столбце каждого датчика.Значение коррекции должно записываться в новый столбец каждый час.Поэтому я хотел бы рассчитать коррекцию следующим образом:
коррекция = | x - (0,5 * (y + z)) |
x = значение датчика 1, если минута =='00'
y = значение датчика 1, если минута == '03'
z = значение датчика 1, если минута == '06'
ЧтоЯ хотел бы иметь функцию, которая вычисляет записанную формулу для каждого часа, но только если дано значение для всех трех минут ('00' & '03' & '06') в часе и выписатьзначение коррекции в новый столбец (Data $ коррекция).Я надеюсь, что смогу объяснить, что я хотел бы сделать.
Я пробовал несколько циклов и применял и отображал функции, но всегда была проблема с форматом даты или функцией.Это то, что мне кажется лучшим подходом, хотя сейчас он не работает, но я надеюсь, что есть способ заставить его начать работать.Также я думаю, что выписывание векторов и слияние их с расплавлением или слиянием может быть не лучшим способом.но сейчас я только борюсь, а не сейчас, как решить проблему.
Очень надеюсь, что вы мне поможете.Большое спасибо.
Test_sub <- read.table(file= 'Test_sub.csv',
header=T, sep= ';', dec='.', stringsAsFactors= F)
sensor1_V_0 <- Test_sub[format(Test_sub$Datehour, format = '%M') == '00',]
sensor1_V_3 <- Test_sub[format(Test_sub$Datehour, format = '%M') == '03',]
sensor12_V_6 <- Test_sub[format(Test_sub$Datehour, format = '%M') == '06',]
test_sub2<- mapply(function(x, y, z) x-(0.5*(y+z)), sensor1_V_0$sensor1_V, sensor1_V_3$sensor1_V, sensor1_V_6$sensor1_V)