Как бороться с «Ошибка в data.frame (..., check.names = FALSE)», когда я использую ggplot? - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь нарисовать графики плотности.Итак, я пошел посмотреть Введение в ggridges.Риджлайнс можно нарисовать в данный момент, но возникла проблема при рисовании графиков плотности.Но: Ошибка в data.frame (..., check.names = FALSE).Как мне изменить мой код?

Сначала я попытался geom_density_ridges() с моими собственными данными, но показал следующую ошибку:

Ошибка в data.frame (..., проверьте.names = FALSE).

Итак, я попробовал набор данных радужной оболочки R и все еще показывал ту же ошибку.

library(ggplot2)
library(ggridges)
data2=iris
 ggplot(iris, aes(x = Sepal.Length, y = Species)) + geom_density_ridges()

Выбор ширины полосы соединения 0,181

Не знаю, как автоматически выбирать масштаб для объекта типа quosure / формула.По умолчанию для непрерывного.Ошибка в data.frame (..., check.names = FALSE):, 值 意味着 不同 的 行 数: 2, 1536

Вот попытка использовать мой собственный набор данных:

data1<-read.table(file="greatwalldatatest.txt",header=T,sep="\t",fileEncoding = "UTF-16")
 ggplot(data1, aes(data1$longitude, data1$dynasty, height = data1$elevation, group = data1$dynasty)) + 
+   geom_density_ridges(stat = "identity", scale = 1)
 ggplot(data1, aes(x = data1$elevation, y = data1$dynasty)) + geom_density_ridges()

Выбор ширины полосы соединения 70,6 Не знаю, как автоматически выбирать масштаб для объекта типа quosure / формула.По умолчанию для непрерывного.Ошибка в data.frame (..., check.names = FALSE):, 值 意味着 不同 的 行 数: 2, 1536

Изначально я хотел использовать geom_density_ridges () для изображенияизменения высоты точек данных за три периода, но сейчас мне, кажется, нужна помощь!большое спасибо!

1 Ответ

0 голосов
/ 20 января 2019

Вы должны действительно сосредоточиться на очистке вашего кода. Это поможет вам легче отлаживать и будет более вежливым, когда вы будете задавать вопросы. Трудно понять, что именно вы пытаетесь сделать, но при использовании library(ggridges) ваше значение x должно быть числовым, а значение y должно быть категоричным.

Кроме того, поскольку вы используете ggplot2, вам не нужно использовать синтаксис data$column_name при создании графика. Вот пример использования iris ниже.

library(tidyverse)
library(ggridges)
#> 
#> Attaching package: 'ggridges'
#> The following object is masked from 'package:ggplot2':
#> 
#>     scale_discrete_manual


iris %>% 
  ggplot(aes(x = Sepal.Length, y = Species)) + 
  geom_density_ridges()
#> Picking joint bandwidth of 0.181

Создано в 2019-01-19 пакетом Представить (v0.2.1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...