У меня есть набор данных, который выглядит следующим образом:
dat <- data.frame(x=c(1,1,2,2,7,7,8,8), y=c(rep(c(-1,-2),4)),
z= c(0.5,0.6,0.6,0.4,0.3,0.3,0.5,0.5))
dat
x y z
1 1 -1 0.5
2 1 -2 0.6
3 2 -1 0.6
4 2 -2 0.4
5 7 -1 0.3
6 7 -2 0.3
7 8 -1 0.5
8 8 -2 0.5
Значения x представляют собой числовые даты, для которых я строю графики значений y и z. Мне нужно заменить непоследовательные значения x последовательным вектором, чтобы данные стали
x y z
1 1 -1 0.5
2 1 -2 0.6
3 2 -1 0.6
4 2 -2 0.4
5 3 -1 0.3
6 3 -2 0.3
7 4 -1 0.5
8 4 -2 0.5
Я попытался математически заменить значение с помощью цикла for, который разделяет данные на кадры данных с помощью уникального значения x,Это имеет две проблемы: во-первых, пробелы в данных по-прежнему существуют каждый раз, когда уникальные значения x используются в математической формуле, такой как данные $ x - min (alldata $ x), и, во-вторых, поскольку каждый результирующий кадр данных имеет только одно уникальное значение x Iне может заменить его в цикле и иметь уникальный результат для каждого значения x во всем наборе данных.
Я только начинаю с циклов, и мне кажется, что есть другой способ перебора данных для достижения требуемого результата, но я пока не смог понять это.