У меня есть данные о потоках с течением времени, и я хотел бы получить список моментов, когда поток менялся с отрицательного на положительный или наоборот. Это кажется простой вещью, поэтому, вероятно, у нее есть простой ответ, но я не смог найти его по своим условиям поиска.
Образец данных:
day=c(1,2,3,5,10,20)
flux=c(-2,-4,1,-2,4,11)
Я хотел бы получить что-то вроде вектора crossover_times= (2.5, 4, 7.5), чтобы указать интерполированные дни, когда произошло изменение, и, в идеале, также информацию, указывающую, каким образом произошло изменение знака, например. sign_changes = (положительный, отрицательный, положительный).
Я мог бы, конечно, написать цикл для перебора данных, но я предполагаю, что в R есть одна или несколько полезных функций для этого. Какие-либо предложения?