Nano Hash - криптовалюты, майнинг, программирование

Получение ошибки при выполнении корреляции в R

У меня есть код, в котором я извлекаю файл CSV в R. У меня около 40-50 переменных, и я хочу уменьшить размеры для дальнейшего анализа. Большинство столбцов в наборе данных либо INT, FACTOR ИЛИ ЧИСЛО. Тип моего BO фрейма данных - список. Ошибка в приведенном ниже коде: «Ошибка в cor (BO):« x »должно быть числовым».

heatmap(cor(BO),Rowv = NA,Colv = NA)
r pca
09.04.2019

  • у вас, вероятно, есть факторы или символы в вашем BO объекте. 09.04.2019
  • у меня есть много факторов в моем Dataframe. Что делать в этом случае? 09.04.2019

Ответы:


1

Как упоминалось в комментариях, у вас есть нечисловые значения в вашем data.frame, которые вам нужно исключить:

heatmap(cor(BO[, sapply(BO, is.numeric)]),Rowv = NA,Colv = NA)

Объяснение

С помощью sapply вы просматриваете все столбцы вашего фрейма данных (который хранится внутри как list с инвариантным, что все элементы должны иметь одинаковую длину) и применяете функцию is.numeric к столбцам. Вы получаете логический вектор для всех столбцов, которые являются числовыми. Теперь с помощью этого вектора вы можете выбрать нужные столбцы.

Пример со встроенным набором данных

## does not work for the same reason
heatmap(cor(iris))
# Error in cor(iris) : 'x' must be numeric

## works
heatmap(cor(iris[, sapply(iris, is.numeric)]))
09.04.2019
  • Ошибка: неожиданный ']' в тепловой карте (cor (BO [, sapply (BO, is.numeric] 09.04.2019
  • Исправил, забыл закрывающую скобку. Если бы ваш код был полным, я бы мог его протестировать раньше;) 09.04.2019
  • Это сработало. Спасибо :) Но я хочу знать, как я могу уменьшить переменные из моего набора данных с помощью PCA 09.04.2019
  • Я использую следующую команду для запуска PCA BO_pca ‹- prcomp (BO [, sapply (BO, is.numeric)], center = TRUE, scale = TRUE) 09.04.2019
  • Это приводит к следующей ошибке Ошибка в prcomp.default (BO [, sapply (BO, is.numeric)], center = TRUE, scale = TRUE): невозможно изменить масштаб столбца с константой / нулем до единичной дисперсии 09.04.2019
  • Это еще одна проблема (которую тоже можно легко решить), поэтому, пожалуйста, задайте для нее новый вопрос. 09.04.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..