当我使用ggplot时,如何处理'data.frame(...,check.names = FALSE)中的错误?

时间:2019-01-20 03:23:29

标签: r dataframe

我正在尝试绘制密度脊线图。所以我去看了ggrigs简介。目前可以绘制山脊线,但是在绘制“密度”山脊线图时存在问题。但是:data.frame(...,check.names = FALSE)错误。如何修改我的代码?

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

  

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

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

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

拾取接头带宽为0.181

     

不知道如何为quosure / formula类型的对象自动选择比例。默认为连续。   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   不知道如何为定量/公式类型的对象自动选择比例。默认为连续。   data.frame(...,check.names = FALSE)错误:     参数值意味着不同的行数:2,1536

最初,我想使用“ geom_density_ridges()”来描述这三个时间段内数据点的海拔变化,但是现在我似乎需要帮助!非常感谢你!

1 个答案:

答案 0 :(得分: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 package(v0.2.1)于2019-01-19创建