Мне было интересно, есть ли аккуратный способ (вероятно, цикл) для моей задачи. Прежде всего, мои данные более или менее структурированы так:
MyData<-data.frame("date"=c(2006,2006,2006,2010,2010,2010,2014,2014,2014),
"party"=c("A","B","C","A","B","C","A","B","C"),
"value_1"=c(sample(1:100,9,rep=T)),
"value_2"=c(sample(1:100,9,rep=T)),
"value_k"=c(sample(1:100,9,rep=T)))
Теперь мне нужно движение каждой политической партии по «стоимости» от одного момента времени к другому (например, движение партии А с 2006 по 2010 год =?). С этой целью я изменил свои данные:
MyData_wide <- reshape(MyData, direction = "wide", timevar = "date", idvar = c("party"))
Таким образом, чтобы перевести движение партий из года в год, я просто вычел бы вот так:
MyData_wide$move_val1_0610 <- MyData_wide$value1.2006 - MyData_wide$value1.2010
Теперь предположим, что у меня есть k из этих "значений" -вариантов. Есть ли способ использовать цикл for () для более быстрого вычисления этих движений?
Я хотел бы сказать, что R «для каждой пары переменных-значений возьмите последнюю и вычтите ее из первой, и для каждой из этих вычитаний создайте новую переменную в MyData_wide, которая выглядит следующим образом. $ Move_val1_0610»