小编Bri*_*her的帖子

ggplot2:排序一个情节

我有一个data.frame,从最高到最低排序.例如:

x <- structure(list(variable = structure(c(10L, 6L, 3L, 4L, 2L, 8L, 
9L, 5L, 1L, 7L), .Label = c("a", "b", "c", "d", "e", "f", "g", 
"h", "i", "j"), class = c("ordered", "factor")), value = c(0.990683229813665, 
0.975155279503106, 0.928571428571429, 0.807453416149068, 0.717391304347826, 
0.388198757763975, 0.357142857142857, 0.201863354037267, 0.173913043478261, 
0.0496894409937888)), .Names = c("variable", "value"), row.names = c(10L, 
6L, 3L, 4L, 2L, 8L, 9L, 5L, 1L, 7L), class = "data.frame")

ggplot(x, aes(x=variable,y=value)) + geom_bar(stat="identity") + 
 scale_y_continuous("",label=scales::percent) + coord_flip() 
Run Code Online (Sandbox Code Playgroud)

现在,数据很好并且排序,但是当我绘制时,它按因子排序.这很烦人,我该如何解决?

r ggplot2

55
推荐指数
4
解决办法
9万
查看次数

st_write 拒绝覆盖 R 中 geopackage 中的图层

使用sfR 中的包,我正在读取存储在地理包中的一系列图层,过滤它们,然后将它们重新保存为新的地理包。
当我设置我的脚本时,我测试了其中一个层并且它工作正常,但是当在层列表上运行相同的代码时,它失败了,因为测试层已经存在。的文档st_write有 append 和 overwrite 参数,但设置为 replace 而不是 append ( append = FALSEor overwrite = TRUE) 会导致它失败并出现错误

st_write.sf(., dsn = gpkg_out, layer = layername, overwrite = TRUE) 中的错误:无法识别的参数覆盖

st_write.sf(., dsn = gpkg_out, layer = layername, append = FALSE) 中的错误:无法识别的参数追加

我更新了 sf 包的副本,但它仍然失败并出现相同的错误。我通过删除文件系统中的文件找到了解决方法,但是如果我只是尝试替换一层,这将是有问题的。

有谁知道这是一个已知问题还是一种使其替换而不是附加图层的方法?

我的代码:

library(sf)
library(tidyverse)

gpkg <- "D:/GIS/Sugar/SugarEC_hydropts.gpkg"  # name of existing geopackage

layers = st_layers(gpkg)$name
layers
# [1] "ec1520"  "ec17200" "ec224"   "ec2500" 
#  "ec271"   "ec4680"  "ec488"   "ec5540"  "ec8140"  "ec9860" 

gpkg_out <- …
Run Code Online (Sandbox Code Playgroud)

r spatial r-sf geopackage

4
推荐指数
2
解决办法
1586
查看次数

从 lapply 抑制 Rmarkdown 中的列表符号

我正在使用 Rmarkdown 生成报告。其中一个步骤包括使用 lapply() 和一个生成绘图的函数,以便生成多个绘图。函数和 lapply 运行良好,但我得到了关于每个图之间列表中哪个元素的符号。

knitr::opts_chunk$set(echo = TRUE)
library(tidyverse)

#{r pressure, echo=FALSE}
myPlotFun <- function(z){
      diamonds %>%
            filter(color == !!z) %>%
            ggplot(aes(x= carat, y = price))+
            geom_point()
}
myList <- c("E","D","H")
lapply(myList, myPlotFun)
Run Code Online (Sandbox Code Playgroud)

我得到:

'## [ 1 ]

情节1 `##

`## [ 2 ]

情节2

如何隐藏图之间的列表符号(例如## [ 2 ])线?使用 include = FALSE 隐藏图和列表符号,这不是我想要的。我试过警告 = FALSE,但这无济于事。

r lapply r-markdown

2
推荐指数
1
解决办法
623
查看次数

在ggplot2中旋转标签注释

我正在尝试旋转 R 中 ggplot 上的注释,类似于此问题,但使用带有背景的标签几何图形。

geom = "text"使用与或geom_text一起使用geom = 'label'的代码geom_label会导致注释不旋转。

fake = data.frame(x=rnorm(100), y=rnorm(100))
ggplot(data = fake, aes(x = x, y = y)) + 
    geom_point() +
    geom_vline(xintercept = -1, linetype = 2, color = "red") +
#    annotate(geom = "text", x = -1, y = -1, label = "Helpful annotation", color = "red",
#             angle = 90)
    annotate(geom = "label", x = -1, y = -1, label = "Helpful annotation", color …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

0
推荐指数
1
解决办法
1398
查看次数

标签 统计

r ×4

ggplot2 ×2

geopackage ×1

lapply ×1

r-markdown ×1

r-sf ×1

spatial ×1