Pozdrowienia, Mam dwie ramki danych o następującej strukturze.Dopasowywanie i zastępowanie kolumn ramki danych według wielu warunków
DF1:
Airlines HeadQ Date Cost_Index
American PHX 07-31-2016 220
American ATL 08-31-2016 150
American ATL 10-31-2016 150
Delta ATL 10-31-2016 180
American ATL 08-31-2017 200
Druga ramka danych DF2 posiada następującą strukturę:
DF2:
Airlines HeadQ Date
American ATL 09-30-2016
Delta ATL 03-31-2017
Teraz patrząc z danych ramek DF1 i DF2, chciałbym zmienić DF1 do kolejnej ramki danych.
DF1:
Airlines HeadQ Date Cost_Index
American PHX 07-31-2016 220
American ATL 08-31-2016 0
American ATL 10-31-2016 150
Delta ATL 10-31-2016 180
American ATL 08-31-2017 200
Warunkiem jest, odnośników do Airlines i HeadQ z DF1 z df2 a jeśli DF1 $ Data < DF2 $ Data następnie dokonać Cost_Index jako 0 lub inny kontynuować Cost_Index.
Próbowałem bezskutecznie z:
DF1$Cost_Index <- ifelse(DF1$Airlines == DF2$Airlines & DF1$HeadQ == DF2$HeadQ
& DF1$Date < DF2$Date, 0, DF1$Cost_Index)
Warning:
1: In DF1$Airlines == DF2$Airlines : longer object
length is not a multiple of shorter object length".
2: In<=.default(DF1$Date, DF2$Date) : longer object length is not a
multiple of shorter object length
DF1:
Airlines HeadQ Date Cost_Index
American PHX 07-31-2016 220
American ATL 08-31-2016 0
American ATL 10-31-2016 0
Delta ATL 10-31-2016 0
American ATL 08-31-2017 200
Czy ktoś może wskazać mi właściwy kierunek?
Uwaga:
str(DF1$Date): Date, format: "2016-10-31"
str(DF2$Date): Date, format: "2016-08-31"
podczas prezentacji problemów związanych z danymi, które ma daty jej naprawdę najlepiej dostarczyć nam oryginalne dane, abyśmy wiedzieli, z czym pracujesz, czy możesz to zapewnić? Lub przynajmniej '' str (DF1) '' –
Po prostu dodano strukturę ramek danych: @Cyrus Mohammadian –
czy pojawia się błąd? jeśli nie, co wygenerował powyższy kod? –