我正在尝试进行范围查找(类似于Excel中的vlookup),以将价格从table2导入table1。表格如下:
Type <- rep(c("Individual", "Couple"), each = 5)
Level <- rep("Gold", 10)
Min_Duration <- rep(c(1, 6, 11, 16, 21), 2)
Max_Duration <- rep(c(5, 10, 15, 20, 25), 2)
table1 <- cbind(Type, Level, Min_Duration, Max_Duration)
Type <- rep(c("Individual", "Couple"), each = 4)
Level <- rep("Gold", 8)
Min_Duration <- rep(c(1, 11, 13, 16), 2)
Max_Duration <- rep(c(10, 12, 15, 30), 2)
Price <- c(1, 1.2, 1.6, 1.8, 1.4, 1.7, 1.9, 2)
table2 <- cbind(Type, Level, Min_Duration, Max_Duration, Price)
我想通过查找Type和Level列的直接匹配并为Max_Duration列进行范围查找,将table2中的Price变量合并到table1中。范围查找应在table2中查找最低的Max_Duration,即> = table1中的Max_Duration。
重要的是,我们必须明确确保“类型”和“级别”列匹配,因为这是较大数据集的一部分,这些列中还有许多其他变量。
我要寻找的结果如下。
Price <- c(1, 1, 1.6, 1.8, 1.8, 1.4, 1.4, 1.9, 2, 2)
table3 <- cbind(table1, Price)