Я хотел бы нормализовать два набора данных, чтобы они оба имели общее значение на конкретную базовую дату.Это позволило бы мне избежать построения графика с двумя осями.
Вот некоторые примеры данных:
x=c(2,5,8,7,9)
y=c(45,56,76,45,89)
w=strptime(20120101:20120105,'%Y%m%d')
z=data.frame(w,x,y)
, которые возвращают это:
w x y
1 2012-01-01 2 45
2 2012-01-02 5 56
3 2012-01-03 8 76
4 2012-01-04 7 45
5 2012-01-05 9 89
Я хотел бынормализуйте x и y в конкретную дату, скажем, 2012-01-03 в приведенном выше примере, так что в этот день и x, и y равны 100. Вот мои опасения:
- Каквыбрать запись 3, чтобы получить x.Index = 100 и y.Index = 100?
- Как создать процентную разницу во всех других записях для x.Index и y.Index из записей 3 и x иу, соответственно?
Для вопроса 2 у меня есть что-то вроде z[-1,'x.Index']=(z[-1,'x']/z[-nrow(z),'x'])*100
, но это возвращает процентное изменение от предыдущей записи, а не от базовой записи.