0

我正在尝试绘制密度脊线图。所以我去看了ggridges的介绍。目前可以绘制山脊线,但是在绘制 Density 山脊线图时出现了问题。但我收到此错误:data.frame(..., check.names = FALSE) 中的错误。如何修改我的代码?

我首先尝试geom_density_ridges()使用自己的数据,但显示以下错误:

data.frame 中的错误(...,check.names = FALSE)。

所以我尝试了 R 的 iris 数据集,但仍然显示同样的错误。

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()' 来描述三个时期数据点的高程变化,但现在我似乎需要帮助!非常感谢!

4

1 回答 1

1

你应该真正专注于清理你的代码。它将帮助您更轻松地调试,并且在发布问题时对您更有礼貌。很难准确理解您要做什么,但是当使用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

reprex 包(v0.2.1)于 2019 年 1 月 19 日创建

于 2019-01-20T03:37:45.673 回答