我相信If语句中的语法错误

时间:2019-03-27 00:38:43

标签: r

我正在尝试解决问题,并且我认为我的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)

       }

如果您可以向我解释我的语法有什么问题,以便将来在经过测试后可以理解。预先谢谢你。

0 个答案:

没有答案