Хобрук: Ваш путь к мастерству в программировании

Поместите данные в неравные размеры ячеек

Я новичок в R и хочу использовать его для непосредственной работы со своими данными. Моя конечная цель - сделать гистограмму / гистограмму.

Глубина: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Процент: 0,4, 0,1, 0,5, 0,2, 0,1, 0,3, 0,9, 0,3, 0,2, 0,2, 0,8

Я хочу взять вектор глубины и разбить его на неравные куски (0, 1-5, 6-8, 9-10), взять процентные значения и каким-то образом суммировать их вместе для совпадающих кусков.

Например:

0 -> .4

1-5 -> 1.2

6-8 -> 1.4

9-10 -> 1.0

Фактический набор данных исчисляется тысячами, и я чувствую, что R может быть более подходящим для этого, чем использование C++ для группировки моих данных в меньшую таблицу, прежде чем позволить R построить их.

Я посмотрел, как использовать SPLIT и CUT, но я не совсем уверен, как использовать данные после того, как я разрезал их на диапазоны. Если я делаю перерывы для CUT, я не знаю, как включить нулевое начальное значение (соответствующее 0,4 в примере).

Любые предложения или подходы будут оценены.

21.06.2013

Ответы:


1

Вы на правильном пути с cut:

dat <- data.frame(Depth = 0:10,
                  Percent = c(0.4, 0.1, 0.5, 0.2, 0.1, 0.3, 0.9, 0.3, 0.2, 0.2, 0.8))

cuts <- cut(dat$Depth, breaks=c(0, 1, 6, 9, 11), right=FALSE)

Затем вы можете использовать aggregate:

aggregate(dat$Percent, list(cuts), sum)

Или как однострочник:

aggregate(dat$Percent, 
          list(cut(dat$Depth, 
                   breaks=c(0, 1, 6, 9, 11), 
                   right=FALSE)),
          sum)
21.06.2013
  • Я попробую это, это так просто и понятно. 21.06.2013
  • Я только что узнал, что вы должны отметить правильный ответ на этом форуме. Спасибо за вашу помощь! R растет на меня. 11.07.2013
  • Новые материалы

    Я собираюсь научить вас Python шаг за шагом
    Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

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

    React on Rails
    Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

    Что такое гибкие методологии разработки программного обеспечения
    Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

    Ториго  — революция в игре Го
    Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

    Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
    Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

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