Синтаксические ошибки, которые я верю в свои утверждения If - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь завершить проблему, и я полагаю, что я сталкиваюсь с некоторой ошибкой форматирования для моих операторов if? Мой код частично работает в том смысле, что он дает какую-то транспортную надбавку, однако, не правильно, на какой рынок я его запрашиваю.

Данный вопрос требует от меня выполнения:

В импортированном фрейме данных создайте еще один столбец с именем «shipping_surcharge», значение которого рассчитывается на основе региона и продаж следующим образом.

а. Если региональным рынком является США, Канада или LATAM, а объем продаж составляет менее 200 долларов США, дополнительная плата за доставку составляет 10% от объема продаж. Для рынков этих регионов, если объем продаж составляет 200 долларов США или более, дополнительная плата за доставку составляет 15% от продаж.

б. Если региональным рынком является EMEA, ЕС или Африка, а объем продаж составляет менее 250 долларов США, дополнительная плата за доставку составляет 15% от объема продаж. Для рынков этих регионов, если объем продаж составляет 250 долларов США или более, дополнительная плата за доставку составляет 25% от продаж.

с. Для регионального рынка APAC, если объем продаж составляет менее 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)

       }

Если бы вы могли объяснить мне, что не так с моим синтаксисом, чтобы я мог понять в будущем, проверю ли я его когда-нибудь. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...