Дом Личные финансы Как использовать циклы с индексами в R - манекенах

Как использовать циклы с индексами в R - манекенах

Видео: Указатели c++ что это. Для чего нужны. Указатели c++ разыменование. C++ для начинающих. Урок #46 2025

Видео: Указатели c++ что это. Для чего нужны. Указатели c++ разыменование. C++ для начинающих. Урок #46 2025
Anonim

Использование циклов в R очень удобно, но вы можете написать более эффективный код, если вы не выполняете цикл но по индексам. Для этого вы заменяете среднюю часть функции следующим кодом:

nclient <- длина (клиент) VAT <- numeric (nclient) для (i в seq_along (клиент)) {VAT [i] <- switch (client [i], private = 1. 12, public = 1. 06, 1))}

Вот несколько отличий от использования значений вектора для цикла:

  • Вы назначаете длину векторного клиента переменной nclient.

  • Затем вы делаете числовой векторный НДС, который точно такой же, как векторный клиент. Это называется предварительным размещением вектора.

  • Затем вы перебираете индексы клиента вместо самого вектора, используя функцию seq_along (). В первом проходе через цикл первое значение в VAT устанавливается как результат switch (), примененного к первому значению в клиенте. Во втором проходе второе значение НДС является результатом переключения (), применяемого ко второму значению в клиенте, и так далее.

У вас может возникнуть соблазн заменить seq_along (клиент) вектором 1: nclient, но это будет плохая идея. Если векторный клиент имеет длину 0, seq_along (клиент) создает пустой вектор, а код в цикле никогда не выполняется. Если вы используете 1: nclient, R создает вектор c (1, 0) и цикл над этими двумя значениями, что дает вам совершенно неправильный результат.

Каждый раз, когда вы удлиняете объект в R, R должен скопировать весь объект и перенести его в новое место в памяти. Это имеет два эффекта:

  • Во-первых, это замедляет ваш код, потому что все копии требуют времени.

  • Во-вторых, поскольку R постоянно перемещает вещи в памяти, эта память разделяется на множество небольших пространств.

Это называется фрагментацией , и делает связь между R и памятью менее плавной. Вы можете избежать этой фрагментации с помощью предварительной выделения памяти, как в предыдущем примере.

Как использовать циклы с индексами в R - манекенах

Выбор редактора

Коэффициент задолженности в QuickBooks 2012 - манекены

Коэффициент задолженности в QuickBooks 2012 - манекены

Коэффициент задолженности - это один из коэффициентов кредитного плеча, который вы можете использовать в QuickBooks 2012. Коэффициент задолженности просто показывает долг фирмы как процент от ее структуры капитала. Термин «структура капитала» относится к совокупным обязательствам и сумме собственного капитала. Например, в случае показанного баланса капитал ...

, Работающее с несколькими местами инвентаризации в QuickBooks 2016 - манекены

, Работающее с несколькими местами инвентаризации в QuickBooks 2016 - манекены

С довольно элегантной простотой, QuickBooks обрабатывает ваш инвентарь и делает работу хорошо для многих предприятий. К сожалению, вы, вероятно, столкнетесь с настоящей головной болью при использовании наиболее распространенных версий QuickBooks для инвентаря. Что делать, если вы храните инвентарь в нескольких местах - например, на складе в Мичигане и в чикагском дистрибутиве ...

Легкая настройка счетов в QuickBooks 2012 - манекены

Легкая настройка счетов в QuickBooks 2012 - манекены

Диалоговое окно базовой настройки в QuickBooks 2012 предоставляет несколько простых -выполнить настройки настройки счета-фактуры. Когда вы делаете эти настройки, QuickBooks обновляет окно предварительного просмотра, показанное в правой половине диалогового окна «Основная настройка», чтобы вы могли видеть, как выглядят ваши изменения. Чтобы добавить логотип в свои счета, выберите ...

Выбор редактора

Использовать Cut, Copy и Paste в PowerPoint 2007 - манекены

Использовать Cut, Copy и Paste в PowerPoint 2007 - манекены

PowerPoint 2007 использует стандартный Cut , Копировать и Вставить. Эти команды работают с выбранным текстом или с выбранным объектом. Команды «Вырезать и копировать» добавляют материал в буфер обмена, а команда «Вставить» копирует материал из буфера обмена в презентацию. Кнопки ленты для работы с буфером обмена находятся в буфере обмена ...

Десять заповедей PowerPoint 2013 - манекены

Десять заповедей PowerPoint 2013 - манекены

, И так получилось, что эти десять заповедей PowerPoint 2013 были переданы из поколения в поколение. Повинуйтесь этим заповедям, и вам будет хорошо с вашим компьютером, и даже с вашим проектором. I. Ты часто накапливаешь свою работу Каждые две или три минуты, нажмите Ctrl + S. Требуется только ...

Использовать слайд-мастер для повторения изображений или текста в PowerPoint 2013 - манекены

Использовать слайд-мастер для повторения изображений или текста в PowerPoint 2013 - манекены

, Если вы хотите добавьте повторяющийся текст - или какую-нибудь умную иллюстрацию - на каждый слайд в презентации PowerPoint 2013 посмотрите на слайд-мастер для простых шагов к успеху. Просто следуйте этой процедуре: вызовите мастер слайдов (нажав кнопку «Слайд-мастер» в группе «Представления представления» на вкладке «Представления»), если это не так ...

Выбор редактора

Записи набора записей iPad и iPhone - макеты

Записи набора записей iPad и iPhone - макеты

На iPhone и даже больше на iPad, интерфейс сенсорного экрана упрощает навигацию по сети, чем использование пульта дистанционного управления телевизором, и гораздо более интерактивный. Это привело к значительному увеличению трафика мобильных данных. По словам производителя мобильных телефонов Ericsson, количество всемирного мобильного трафика данных ежемесячно ...

Что вы должны знать о геокодировании на iPad для разработки приложений для iOS - манекены

Что вы должны знать о геокодировании на iPad для разработки приложений для iOS - манекены

Преобразование адреса в набор координат карты в приложении iOS называется перекрестным геокодированием, тогда как преобразование из набора координат в адрес называется обратным геокодированием. Как прямое, так и обратное геокодирование поддерживаются в классе CLGeocoder от Apple, который входит в структуру ядра Apple CoreLocation. Класс CLGeocoder предоставляет службы ...

Зачем вам разрабатывать приложения iOS - манекены

Зачем вам разрабатывать приложения iOS - манекены

Зачем вам разрабатывать приложения для iOS? Потому что ты можешь. Потому что это весело. И потому, что настало время (сегодня!). Приложения iOS выходят из строя, а разработчики очень успешны. Разработка приложений для iOS может быть самым увлекательным в течение многих лет, с очень небольшими затратами времени и денег (по сравнению с разработкой ...