Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 课程日期的反转轴_R_Ggplot2 - Fatal编程技术网

R 课程日期的反转轴

R 课程日期的反转轴,r,ggplot2,R,Ggplot2,我正试图反转绘图的y轴。现在该列属于类date。数字列可以通过添加scale\u y\u reverse()或scale\u y\u continuous(trans=“reverse)来反转,但我似乎不知道如何从上到下转换:200520062007我无法将日期列转换为数字,因为我在原始绘图中有月的注释层 library(tidyverse) df <- structure(list(date = structure(c(12784, 13149, 13514), class = "Da

我正试图反转绘图的y轴。现在该列属于类
date
。数字列可以通过添加
scale\u y\u reverse()
scale\u y\u continuous(trans=“reverse)
来反转,但我似乎不知道如何从上到下转换:
200520062007
我无法将日期列转换为数字,因为我在原始绘图中有月的注释层

library(tidyverse)

df <- structure(list(date = structure(c(12784, 13149, 13514), class = "Date"), 
    nr = c(1.14192497730255, 0.719137012958527, 1.3783597946167
    )), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
-3L), .Names = c("date", "nr"))

# A tibble: 3 x 2
  date          nr
  <date>     <dbl>
1 2005-01-01 1.14 
2 2006-01-01 0.719
3 2007-01-01 1.38 

编辑 我也不能,因为我的专栏属于类
date
,而不是
POSIXct


错误:无效输入:time\u trans仅适用于POSIXct类对象

您可以创建一个新变量,年份为整数:

library(lubridate)
df %>%
    mutate(Year = year(date)) %>%
    ggplot(aes(Year, nr)) +
    geom_col() +
    coord_flip() +
    scale_x_reverse()

如果不使用lubridate,请使用
Year=as.numeric(格式(日期,“%Y”))

您可以创建一个年为整数的新变量:

library(lubridate)
df %>%
    mutate(Year = year(date)) %>%
    ggplot(aes(Year, nr)) +
    geom_col() +
    coord_flip() +
    scale_x_reverse()

不使用lubridate时,使用
Year=as.numeric(格式(日期,“%Y”))
df%>%ggplot(aes(as.numeric(日期))+geom_col()+coord_flip()+scale_x_reverse(标签=as.character(lubridate::Year(df$date)),breaks=as.numeric(df$date))
可能的重复项您可以添加一个需要分层的注释示例吗?可能有一些解决方法允许您转换数据的某些方面
df%>%ggplot(aes(as.numeric(date),nr))+geom_col()+coord_flip()+scale_x_reverse(labels=as.character(lubridate::year(df$date)),breaks=as.numeric(df$date))
可能的重复项能否添加需要分层的注释示例?可能存在允许您转换数据某些方面的解决方法请参见我的解释,为什么我不能将值更改为年。在此解决方案中,值没有更改,我添加了一个临时值以绘制年。您仍然可以使用日期变量f或绘图中的其他图层。此解决方案确实符合您问题中的标准。请参阅我的解释,为什么我不能将值更改为年。在此解决方案中,值没有更改,我为绘图年添加了一个临时值。您仍然可以对绘图中的其他图层使用日期变量。此解决方案确实符合您问题中的标准。