如何增加ggplot2情节图例的键之间的空间?
library(ggplot2)
ggplot(aes(mpg, wt, colour = factor(cyl)),
, data = mtcars) +
geom_point() +
theme(legend.direction = "horizontal",
legend.position = "bottom") +
guides(color = guide_legend(nrow=2))
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个ggplot2选项,在上图中的(键4和键6)之间添加一种垂直调整?我应该创建自定义图例键吗?
PS:我想增加不在标签之间的方框之间的空白区域.
想要的情节是:
注意:没有问题不与另一个问题重复.我们希望在这里添加已经在多行中的项之间的垂直间距.在另一个问题中,我们有1行图例,我们想在项目之间添加空格(水平).
我有两个SpatialPolygonsDataFrame文件:dat1,dat2
extent(dat1)
class : Extent
xmin : -180
xmax : 180
ymin : -90
ymax : 90
extent(dat2)
class : Extent
xmin : -120.0014
xmax : -109.9997
ymin : 48.99944
ymax : 60
Run Code Online (Sandbox Code Playgroud)
我想使用dat2的范围裁剪文件dat1.我不知道怎么做.我之前只使用"crop"函数处理光栅文件.
当我将此函数用于当前数据时,会发生以下错误:
> r1 <- crop(BiomassCarbon.shp,alberta.shp)
Error in function (classes, fdef, mtable) :
unable to find an inherited method for function ‘crop’ for signature"SpatialPolygonsDataFrame"’
Run Code Online (Sandbox Code Playgroud) 我有一个类似于以下内容的分类数据集:
A<-data.frame(animal=c("cat","cat","cat","dog","dog","dog","elephant","elephant","elephant"),
color =c(rep(c("blue","red","green"),3)))
Run Code Online (Sandbox Code Playgroud)
我想订购它,以便动物用狗,然后大象,然后猫,然后颜色分为绿色,蓝色,然后红色.所以最后它看起来像
狗绿色,狗蓝色,狗红色,大象绿色,大象蓝色,...
我知道,对于一个列表,使用基本运营商建立索引时,部分匹配完成$和[[.例如:
ll <- list(yy=1)
ll$y
[1] 1
Run Code Online (Sandbox Code Playgroud)
但我仍然是一个R新手,这对我来说是新的,函数参数的部分匹配:
h <- function(xx=2)xx
h(x=2)
[1] 2
Run Code Online (Sandbox Code Playgroud)
我想了解这是如何工作的.它背后的机制是什么?这有副作用吗?我想知道如果给出了xx参数,有人可以测试一下吗?
Andrie评论后编辑:
内部R使用pmatch算法来匹配参数,这里是一个如何工作的示例:
pmatch("me", c("mean", "median", "mode")) # error multiple partial matches
[1] NA
> pmatch("mo", c("mean", "median", "mode")) # mo match mode match here
[1] 3
Run Code Online (Sandbox Code Playgroud)
但为什么R有这样的功能呢?partial unique匹配背后的基本理念是什么?
有人可以解释一下这一行R代码是如何工作的吗?
split(dat, f) <- lapply(split(dat, f), max)
Run Code Online (Sandbox Code Playgroud)
我认为这只是一个回收规则,但实际上我无法理解.
数据示例:
dat <- c(1, 2, 3, 100, 200, 300)
f <- as.factor(c("a", "a", "b", "a", "b", "b"))
split(dat, f) <- lapply(split(dat, f), max)
dat
[1] 100 100 300 100 300 300
Run Code Online (Sandbox Code Playgroud)
代码执行我想做的事情(按组分配最大值),但问题是这是如何完成的?
我正在尝试查询此网站以获取优惠列表.问题是我们需要在收到最终结果之前填写2个表单(2个POST查询).
这就是我到目前为止所做的:
首先,我在设置cookie后发送第一个POST:
library(httr)
set_cookies(.cookies = c(a = "1", b = "2"))
first_url <- "https://compare.switchon.vic.gov.au/submit"
body <- list(energy_category="electricity",
location="home",
"location-home"="shift",
"retailer-company"="",
postcode="3000",
distributor=7,
zone=1,
energy_concession=0,
"file-provider"="",
solar=0,
solar_feedin_tariff="",
disclaimer_chkbox="disclaimer_selected")
qr<- POST(first_url,
encode="form",
body=body)
Run Code Online (Sandbox Code Playgroud)
然后尝试使用第二个帖子查询检索商品:
gov_url <- "https://compare.switchon.vic.gov.au/energy_questionnaire/submit"
qr1<- POST(gov_url,
encode="form",
body=list(`person-count`=1,
`room-count`=1,
`refrigerator-count`=1,
`gas-type`=4,
`pool-heating`=0,
spaceheating="none",
spacecooling="none",
`cloth-dryer`=0,
waterheating="other"),
set_cookies(a = 1, b = 2))
)
library(XML)
dc <- htmlParse(qr1)
Run Code Online (Sandbox Code Playgroud)
但不幸的是,我收到一条消息,表明会话结束.非常感谢您解决此问题的任何帮助.
我添加了cookie和中间GET,但我仍然没有任何结果.
library(httr)
first_url <- "https://compare.switchon.vic.gov.au/submit"
body <- list(energy_category="electricity",
location="home",
"location-home"="shift",
"retailer-company"="",
postcode=3000,
distributor=7,
zone=1,
energy_concession=0,
"file-provider"="", …Run Code Online (Sandbox Code Playgroud) 在R中玩绑定和环境调整,我们有这三个功能:
lockEnvironment(env) 锁定env,因此您无法向env添加新符号.lockBinding(sym, env) 将sym锁定在env中,这样你就无法修改它unlockBinding(sym, env) 放松后一把锁.但是我怎样才能解锁环境?也许我想念一些东西,但看起来R不暴露一个unlockEnvironment功能或等效的机制来解锁env?这有什么设计理由吗?
这里有一个如何使用这个函数的例子:
e <- new.env()
lockEnvironment(e)
get("x",e)
assign("x",2,envir=e)
lockBinding("x", e)
get("x",e)
unlockBinding("x", e)
assign("x",3,envir=e)
## how to relese e lock?
unlockEnvironment(e) ## the function doesn't exist
Run Code Online (Sandbox Code Playgroud) 我正在尝试生成一个包含多组因子的条形图.通过Variety和Irrigation处理分组的一个例子来自我正在尝试创建的内容:

我知道我可以使用生成多个图形facet_wrap(),但我想为多年的类似数据生成同一类型数据的多个图形.我在此示例中使用的数据示例:
Year Trt Variety geno yield SE
2010-2011 Irr Variety.2 1 6807 647
2010-2011 Irr Variety.2 2 5901 761
2010-2011 Irr Variety.1 1 6330 731
2010-2011 Irr Variety.1 2 5090 421
2010-2011 Dry Variety.2 1 3953 643
2010-2011 Dry Variety.2 2 3438 683
2010-2011 Dry Variety.1 1 3815 605
2010-2011 Dry Variety.1 2 3326 584
Run Code Online (Sandbox Code Playgroud)
有没有办法在ggplot2中创建多个分组?我已经搜索了很长时间,还没有看到像上面的示例图那样的例子.
感谢您的帮助!
我正在使用RStudio,因为我发现它是一个很好的IDE.
我开始觉得需要通过打包代码来深入理解或破解某些功能.当我尝试使用Ctrl +单击鼠标进行导航时对于在包中定义的函数,代码将显示在特殊的Source Viewer中.
这个观点的问题
我的解决方案是加载包(代码源)并使用Find in files选项查看代码.
您是否有更有效的方法分别通过代码?我愿意接受建议:其他IDE?在Windows/Unix的?网络解决方案:您认为可以在云端安装Rstudio服务器版本,无需加载即可通过所有R包吗?
PS:我的问题主要是关于通过代码而不是黑客攻击它.