我有一个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)
现在,数据很好并且排序,但是当我绘制时,它按因子排序.这很烦人,我该如何解决?
使用sf
R 中的包,我正在读取存储在地理包中的一系列图层,过滤它们,然后将它们重新保存为新的地理包。
当我设置我的脚本时,我测试了其中一个层并且它工作正常,但是当在层列表上运行相同的代码时,它失败了,因为测试层已经存在。的文档st_write
有 append 和 overwrite 参数,但设置为 replace 而不是 append ( append = FALSE
or 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) 我正在使用 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 ]
`## [ 2 ]
如何隐藏图之间的列表符号(例如## [ 2 ])线?使用 include = FALSE 隐藏图和列表符号,这不是我想要的。我试过警告 = FALSE,但这无济于事。
我正在尝试旋转 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)