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

График столбцов фрейма данных против первого столбца в R

Как в R можно построить все столбцы фрейма данных против первого столбца этого фрейма данных?

Если фрейм данных имеет 4 столбца, это должен быть один график из 3 наложенных друг на друга линий.

plot(df) создает матрицу диаграммы рассеяния, а

for(i in 1:ncol(df)) {
  plot(df$length, df[,i], type='l')
}

строит только последний столбец против первого столбца.

31.10.2015

  • Вы можете попробовать pdf('plots.pdf'); invisible(lapply(df[-1], function(x) plot(df[,1], x, type='l'))); dev.off() 31.10.2015
  • @Jota Я на OSX с Rstudio 31.10.2015
  • Вам нужен один plot? 31.10.2015
  • ggplot(melt(DF, "x"), aes(x = x, y = value, color = variable)) + facet_wrap(~variable) + geom_line() Если вы не хотите разбивать график, как в plot(df), удалите часть facet_wrap 31.10.2015
  • @akrun Да, только один сюжет. Обновленный вопрос, чтобы отразить это 31.10.2015
  • @Chris Можно ли это сделать, используя базовую функцию построения графика, а не ggplot2? 31.10.2015
  • Я очень редко использую функцию базового графика, но в основе моего кода лежит функция плавления из data.table или reshape2. Я уверен, что как только данные будут в форме htat, будет легко построить различные группы 31.10.2015
  • Лучше бы пример показал. возможно matplot(x= df[,1], y= as.matrix(df[-1]), type='l') 31.10.2015
  • DF <- melt(DF, "x"), то plot(x = DF$x, y = DF$value, col = DF$variable) тоже работает 31.10.2015
  • @akrun Отлично, это работает! Я буду использовать matplot, а позже попытаюсь преобразовать в ggplot2, когда буду лучше знаком с R. 31.10.2015

Ответы:


1

Мы могли бы использовать matplot

matplot(x= df[,1], y= as.matrix(df[-1]), type='l', pch=1, 
       col= 2:5, xlab='first column', ylab = 'other columns')
legend("bottomright", inset=.05, legend=c("V2", "V3", "V4", "V5"), 
              pch=1, col= 2:5, horiz=TRUE)

данные

 df <- structure(list(V1 = c(12L, 21L, 50L, 71L, 98L, 135L, 147L, 178L, 
211L, 222L, 247L, 262L, 289L, 316L, 329L, 366L, 374L, 376L, 397L, 
403L), V2 = c(4L, 27L, 57L, 63L, 72L, 100L, 104L, 128L, 154L, 
156L, 169L, 179L, 194L, 200L, 238L, 247L, 277L, 303L, 331L, 370L
), V3 = c(19L, 35L, 46L, 55L, 57L, 61L, 77L, 92L, 103L, 117L, 
136L, 171L, 190L, 219L, 241L, 281L, 300L, 312L, 319L, 325L), 
    V4 = c(20L, 30L, 42L, 48L, 78L, 91L, 129L, 168L, 198L, 218L, 
    224L, 233L, 234L, 274L, 300L, 314L, 337L, 370L, 372L, 401L
    ), V5 = c(22L, 27L, 48L, 57L, 72L, 86L, 97L, 133L, 149L, 
    183L, 196L, 226L, 264L, 269L, 288L, 312L, 338L, 342L, 359L, 
    379L)), .Names = c("V1", "V2", "V3", "V4", "V5"), row.names = c(NA, 
-20L), class = "data.frame")
31.10.2015
Новые материалы

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

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

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

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

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

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

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