eConti - программирование в вопросах и ответах

Матричная интегральная операция, избегая петель

У меня есть матрица (15000*3000). Цель состоит в том, чтобы условно присвоить новые значения в соответствии с исходной матрицей. Например, критерии, которые я хотел бы реализовать, таковы:

Вот как мой код настроен на данный момент.

for( i in 1:2000 ) {
    for( j in 1:15000 ) {
        if(DF[j,i]>0 && DF[j-1,i]<0) DF1[j,i]=1 
        else if (DF[j,i]<0 && DF[j-1,i]>0) DF1[j,i]=0
    }
}

DF - исходная матрица.

DF1 - это новая сформированная матрица

Есть ли другой способ сделать это? Более быстрый способ?

Я читал, что петель в R следует избегать.

26.12.2015

  • Что такое t и x? Вы собирались ввести i и j? 26.12.2015
  • Как насчет DF1[DF[-1,]>0 & DF[-nrow(DF),] < 0] <- 1 и т. д.? 26.12.2015
  • Прошу прощения за невнимательность.if(DF[j,i]›0 &&DF[j-1,i]‹0) DF1[j,i]=1 else if (DF[j,i]‹0 && DF[ j-1,i]›0) DF1[j,i]=0 26.12.2015
  • Большое спасибо ! Это полезно. 26.12.2015
  • Как насчет того, чтобы опубликовать это как ответ? Если Марат не хочет, то Винни может ответить сам... 26.12.2015

Ответы:


1
DF1[-1,][DF[-1,]>0 & DF[-nrow(DF),] < 0] <- 1
DF1[-1,][DF[-1,]<0 & DF[-nrow(DF),] > 0] <- 0

Поскольку две матрицы (DF1,[DF[-1,]>0 & DF[-nrow(DF),] < 0]) имеют разную размерность, в DF1[DF[-1,]>0 & DF[-nrow(DF),] < 0] <- 1 существует проблема.

26.12.2015
Новые материалы

ИИ для общего блага, часть вторая
В нашем последнем блоге мы исследовали возможности ИИ для общего блага, указав на несколько инициатив по поиску действенных решений для продвижения справедливых и беспристрастных систем ИИ. По..

Время расцвета закончилось
Большую часть своей карьеры в индустрии программного обеспечения программисты работали с головой в песок. Успех в отрасли требует навыков презентации и обучения других. Ценность улучшенных..

Будущее сельского хозяйства: новый уровень производительности с современными технологиями
По мере роста населения мира растет и спрос на продукты питания. Фермеры сталкиваются с растущим давлением необходимости повышать урожайность и максимизировать производительность, манипулируя..

Состояние совместной фильтрации в 2022 году, часть 1
ResBeMF: Улучшение прогнозируемого охвата совместной фильтрации на основе классификации (arXiv) Автор: Анхель Гонсалес-Прието , Авраам Гутьеррес , Фернандо Ортега , Рауль Лара-Кабрера..

Зачем изучать PYTHON в 2022 году !
Python — востребованный, доступный язык программирования с активным, постоянно растущим сообществом пользователей. Для тех, кто хочет сменить профессию в мире технологий с помощью..

Решение капч с помощью Puppeteer
Это руководство предназначено для текстовых кодов, а не для reCAPTCHA Google (см. конец этого сообщения). Требования: Антикапча или любой другой сервис по разгадыванию капчи. Модуль..

7 встроенных библиотек Python, которые необходимо знать
7 встроенных библиотек Python, которые необходимо знать Стандартная библиотека Python значительно упрощает жизнь программистов, предоставляя широкий набор функций. Мы выбираем несколько..