Имам таблица с данни нещо подобно.
Firm Year Moveyear Address OriginAddress DestinationAddress
A 2000
A 2001 2001 15Grand_Ave 700Grand_Ave
A 2002
A 2003 2003 700Grand_Ave 20Washington_Ave
A 2004
B 2000
B 2001
B 2002 2002 2730State_st 40Washington_Ave
B 2003
B 2004
C
.
.
Това е набор от панелни данни, показващ информация за преместване на всяка фирма за няколко години. Искам да добавя (или присвоя) адресна информация към колоната „Address“, като използвам колоните „OriginAddress“ и „DestinationAddress“.
Например 15Grand_Ave трябва да бъде присвоен към колоната с адрес на фирма A през 2000 г., тъй като това беше първоначалният адрес, преди фирмата да се премести на 700Grand_Ave през 2001 г. А 700Grand_Ave трябва да бъде присвоен към колоната с адрес на фирма A през 2001 г. и 2002 г., тъй като това беше нейният адрес преди него се премества на 20Washington_Ave през 2003 г.
Така че резултатът, който искам:
Firm Year Moveyear Address OriginAddress DestinationAddress
A 2000 15Grand_Ave
A 2001 2001 700Grand_Ave 15Grand_Ave 700Grand_Ave
A 2002 700Grand_Ave
A 2003 2003 20Washington_Ave 700Grand_Ave 20Washington_Ave
A 2004 20Washington_Ave
B 2000 2730State_st
B 2001 2730State_st
B 2002 2002 40Washington_Ave 2730State_st 40Washington_Ave
B 2003 40Washington_Ave
B 2004 40Washington_Ave
C
.
.
Предполагам, че трябва да използвам оператор for-loop и ifelse в R, но имам проблеми с кодирането. Моля, споделете всякакви идеи с мен.
dput
на вашия data.frame/data.table и копирайте и поставете изхода от конзолата във вашия въпрос. - person hello_friend   schedule 07.06.2020