Chúc mừng, Tôi có hai khung dữ liệu với cấu trúc sau.Đối sánh và thay thế các cột của khung dữ liệu theo nhiều điều kiện
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
khung dữ liệu thứ hai DF2 có cấu trúc sau:
DF2:
Airlines HeadQ Date
American ATL 09-30-2016
Delta ATL 03-31-2017
Bây giờ nhìn lên với dữ liệu các khung df1 và DF2, tôi muốn thay đổi df1 vào khung dữ liệu sau.
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
Điều kiện là, tra cứu cho Airlines và HeadQ của df1 từ DF2 và nếu df1 $ Ngày < DF2 $ ngày sau đó hãy chắc Cost_Index là 0 hoặc nếu không tiếp tục với Cost_Index.
tôi đã cố gắng, nhưng không thành công, với:
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
bất cứ ai có thể chỉ cho tôi đi đúng hướng?
Lưu ý:
str(DF1$Date): Date, format: "2016-10-31"
str(DF2$Date): Date, format: "2016-08-31"
khi trình bày các vấn đề liên quan đến dữ liệu mà có ngày nó thực sự tốt nhất để cung cấp cho chúng tôi dữ liệu gốc của bạn để chúng tôi biết bạn đang làm việc với điều gì, bạn có thể cung cấp dữ liệu đó không? Hoặc ít nhất '' str (DF1) '' –
Chỉ cần thêm cấu trúc của khung dữ liệu: @Cyrus Mohammadian –
bạn có gặp lỗi không? nếu không, mã trên của bạn được tạo ra như thế nào? –