我正在尝试解决问题,并且我认为我的if语句遇到某种格式错误?我的代码在某种程度上可以正常工作,因为它会给您带来某种运输附加费,但是并不能正确地向我询问哪个市场。
眼前的问题是要我执行以下操作:
在导入的数据框中,创建另一个名为“ shipping_surcharge”的列,其值是根据“区域”和“销售额”计算的,如下所示。
a。如果区域市场是美国,加拿大或拉美,且销售额低于$ 200,则运费附加费为销售额的10%。对于这些地区的市场,如果“销售额”为$ 200或更多,则运费附加费为销售额的15%。
b。如果区域市场为EMEA,欧盟或非洲且销售额低于$ 250,则运输附加费为销售额的15%。对于这些地区的市场,如果“销售额”达到或超过$ 250,则运费附加费为销售额的25%。
c。对于亚太地区市场,如果“销售额”低于$ 150,则运输附加费为销售额的20%。否则,占销售额的30%。
到目前为止,我编写的代码是:
orders$shipping_surcharge <- ""
for(i in (1:n))
{
if(orders$Market[i] = "US" | orders$Market[i] = "Canada" | orders$Market[i] = LATAM & orders$Sales[i] < 200)
{
orders$shipping_surcharge[i] <- (0.10 * orders$Sales)
}
else if(orders$Sales[i] >= 200)
{
orders$shipping_surcharge[i] <- (0.15 * orders$Sales)
}
else if(orders$Market[i] = "EMEA" | orders$Market[i] = "EU" | orders$Market[i] = "Africa" & orders$Sales < 250)
{
orders$shipping_surcharge[i] <- (0.15 * orders$Sales)
}
else if(orders$Sales[i] >= 250)
{
orders$shipping_surcharge[i] <- (0.25 * orders$Sales)
}
else if(orders$Market[i] = "APAC" & orders$Sales[i] < 150)
{
orders$shipping_surcharge[i] <- (0.20 * orders$Sales)
}
else orders$shipping_surcharge[i] <- (0.30 * orders$Sales)
}
如果您可以向我解释我的语法有什么问题,以便将来在经过测试后可以理解。预先谢谢你。