小编med*_*is6的帖子

lpSolve in R with Character和Column Sum Contraints

我有一个房间列表,房间的最大平方英尺,程序,程序的最大平方英尺,以及房间与预期程序使用的匹配程度(匹配#)的值.在帮助下,我已经能够最大化匹配#和平方英尺用于每个房间一个程序.但是,我想进一步采用这种分析,只要多次匹配仍然符合平方英尺要求,允许同一房间内的多个程序或同一程序的倍数(如果它具有最高匹配#).此外,我想告诉lpSolve整体而言,我只想在整个建筑物中使用"x"数量的办公室,"y"数量的工作室等.到目前为止,这是我的数据和代码:

program.size <- c(120,320,300,800,500,1000,500,1000,1500,400,1500,2000)
room.size <- c(1414,682,1484,2938,1985,1493,427,1958,708,581,1485,652,727,2556,1634,187,2174,205,1070,2165,1680,1449,1441,2289,986,298,590,2925)
(obj.vals <- matrix(c(3,4,2,8,3,7,4,8,6,4,7,7,
                  3,4,2,8,3,7,4,8,6,4,7,7,
                  4,5,3,7,4,6,5,7,5,3,6,6,
                  2,3,1,7,2,6,3,7,7,5,6,6,
                  4,5,3,7,4,6,5,7,5,3,6,6,
                  3,6,4,8,5,7,4,8,7,7,7,7,
                  3,4,2,8,3,7,4,8,6,4,7,7,
                  4,5,3,7,4,6,5,7,5,3,6,6,
                  6,7,5,7,6,6,7,7,5,3,6,6,
                  6,7,5,7,6,6,7,7,5,3,6,6,
                  5,6,6,6,5,7,8,6,4,2,5,5,
                  6,7,5,7,6,6,7,7,5,3,6,6,
                  6,7,5,7,6,6,7,7,5,3,6,6,
                  3,4,4,8,3,9,6,8,6,4,7,7,
                  3,4,2,6,3,5,4,6,6,4,5,5,
                  4,5,3,5,4,4,5,5,5,3,4,4,
                  5,6,4,8,5,7,6,8,6,4,7,7,
                  5,6,4,8,5,7,6,8,6,4,7,7,
                  4,5,5,7,4,8,7,7,5,3,6,6,
                  5,6,4,8,5,7,6,8,6,4,7,7,
                  3,4,2,6,3,5,4,6,6,4,5,5,
                  5,6,4,8,5,7,6,8,6,4,7,7,
                  5,6,4,8,5,7,6,8,6,4,7,7,
                  5,4,4,6,5,5,6,6,6,6,7,5,
                  6,5,5,5,6,4,5,5,5,7,6,4,
                  4,5,3,7,4,6,5,7,7,5,6,6,
                  6,5,5,5,6,4,5,5,5,7,6,4,
                  3,4,4,6,3,7,6,6,6,4,5,5), nrow=12))
rownames(obj.vals) <- c("Enclosed Offices", "Open Office", "Reception / Greeter", "Studio / Classroom",
                    "Conference / Meeting Room", "Gallery", "Public / Lobby / Waiting", 
                    "Collaborative Space", "Mechanical / Support", "Storage / Archives", 
                    "Fabrication", "Performance")
(obj.adj <- obj.vals * outer(program.size, room.size, "<="))


nr <- nrow(obj.adj) …
Run Code Online (Sandbox Code Playgroud)

optimization r constraints linear-programming lpsolve

5
推荐指数
1
解决办法
1372
查看次数

choroplethr,ggmap或ggplot2中的道路和半径圆

我正在使用library(choroplethr)一些市场分析,我有一些关于制作我的问题county_choropleth,或者将其覆盖在我的代码之上ggmap()reference_map=TRUE在我的代码中使用.我要做的就是把我的县城等一些地方放置州州际公路/高速公路,并在它上面绘制圆圈/半径.

我现在拥有的是:

library(choroplethr)
data <- Data.frame(County.FIPS = c(19153,19163,19153,19153,19153,19153,19153,19113,19007,19169), Score=c(812.6,769.5,757.9,757.2,722.6,712.4,69727,690.2,64539,642.5)
county <-aggregate(data$Score~data$County.FIPS,data=data,sum)
colnames(county) <- c("region", "value")
mp <- county_choropleth(county, state_zoom=c("iowa"), num_colors = 1) +
  theme(legend.position="none")+
  scale_fill_gradient2("Score", 
                       high = "dark green", 
                       low = "red", 
                       na.value = "grey90", 
                       breaks = pretty(county$value, n = 10), 
                       label = scales::dollar_format())
Run Code Online (Sandbox Code Playgroud)

......这给了我这个情节. 在此输入图像描述

从这里开始,我想要做的是将爱荷华州的主要州际公路覆盖在我的地图上,并创建一些半径圆圈以显示距离某些城市的距离.我希望它能从这张地图中获取元素并理想地将它们合并到我的choroplethr地图中,因为在我看来,它看起来比这个例子更清晰:在此输入图像描述

我用这段代码检索第二张地图:

library(ggmap)
test<-get_map(location = c(lon=-93.57217,lat=41.67269), maptype="roadmap",source="google",zoom=7,scale="auto")
yup <- data.frame(lon=c(-93.57217,-95.87509), lat=c(41.67269,41.23238),score=c(1,1))
ggmap(test) + stat_density2d(aes(x = lon, y = lat, fill = score,alpha=score), 
               size = 2, bins …
Run Code Online (Sandbox Code Playgroud)

google-maps r ggplot2 ggmap choroplethr

5
推荐指数
1
解决办法
600
查看次数

绘制ggplot Foooter在grobTree中使用linesGrob

我已经创建了一个广泛的主题,ggplot类似于五十八.在不使用的情况下ggthemes,我如何利用linesGrob在我的页脚上方绘制一条线,并且在没有触及绘图边缘的情况下在绘图中移动85%?我正在努力寻找类似于这个情节的页脚.在此输入图像描述

我可以编辑字体文本,颜色和大小,所以不用担心.

到目前为止,我所拥有的是:

data(iris)

library(ggplot2)
library(grid)
library(gridExtra)

plot20 <- ggplot(iris,aes(x=Petal.Length,y=Sepal.Length,color=Species)) +
  geom_point(alpha=0.5,size=5) +
  ylab("") +
  xlab("") +
  theme(panel.grid.minor.y=element_blank(),
        panel.grid.major.x=element_line(color="#D2D2D2",size=0.7),
        panel.grid.major.y=element_line(color="#D2D2D2",size=0.7),
        panel.grid.minor.x=element_blank(),
        panel.background = element_rect(fill = '#F0F0F0',colour=NA),
        plot.background = element_rect(fill = '#F0F0F0', colour=NA, size = 4),
        legend.background=element_rect(fill="#F0F0F0"),
        legend.key=element_blank(),
        legend.title=element_text(face="bold"),
        axis.text=element_text(face="bold"),
        legend.position="none",
        axis.ticks=element_blank())

#Plot Header
my_g2 <- grobTree(rectGrob(gp=gpar(fill='#F0F0F0',col=NA)),
                  textGrob("Iris Dataset",x=0.115, vjust = -0.5,gp=gpar(fontsize=18,fontface="bold")),
                  textGrob("This is a subheader for the iris dataset",x=0.235,vjust=1.5,gp=gpar(fontsize=14)))

#Plot Footer
my_g1 <- grobTree(rectGrob(gp=gpar(fill="#F0F0F0",col=NA)),
                  textGrob("    medavis6",x=0,hjust=0,gp=gpar(col="darkorange",fontsize=8,fontface="bold")),
                  textGrob("Source: R",x=.85,hjust=-1.06,gp=gpar(col="black",fontsize=8)))

#Plot All Together
allplot <- grid.arrange(my_g2,plot20,my_g1,heights=c(1.17,11,0.5)) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 gridextra grob

5
推荐指数
1
解决办法
1419
查看次数

将轴标签包裹在相关矩阵中

我正在尝试使用ggcorr()其中的函数library(GGally)来创建相关矩阵。该包正在按预期工作,但我遇到了一个问题,我想编辑轴标签在绘图上的显示方式。

目前,他们会自动添加 _ 或 . 用空格或其他字符分隔名称。理想情况下,我想在名称中的空格之间创建换行符 (\n),以便可以轻松阅读长名称和短名称,并且不会超出适当的列和行。

我找到了其他人在 SO 上使用的解决方案,包括 using str_wrap(),但它是在一个ggplot()调用中,而不是在这个特定的包中。我已经检查了包的 R 代码,但找不到专门编辑这些标签的位置。每当我尝试编辑 X 或 Y 轴文本时,它都会添加一个全新的轴和一组标签。

我当前将dcast()数据帧放入结果数据帧中,即使当我gsub()“\n”进入玩家姓名列时,它们也会在dcast()转换中丢失。

这是我正在使用的示例。我希望能够在标签的名字和姓氏之间自动创建换行符。

library(GGally)
library(ggplot2)

test <- structure(list(Date = structure(c(17100, 17102, 17103, 17106, 
17107), class = "Date"), `Alexis Ajinca` = c(1.2, NA, 9.2, 6.4, 
NA), `Anthony Davis` = c(95.7, 76.9, 29, 67, 24.9), `Buddy Hield` = c(9.7, 
4.7, 17, 8, 28.3), `Cheick Diallo` = c(NA, NA, 3.2, NA, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggally

5
推荐指数
1
解决办法
3081
查看次数

具有不同字体大小,面部等的多行ggplot标题

我已经搜索了SO和其他网站,但无法找到我的问题的解决方案ggtitle().我知道还有其他一些例子,但我还没能成功地将它们直接应用到我的问题中.

我想要做的是制作一个多线图标题,其中第一行是粗体,大小= 10,然后在第一行下面是第二行(可能是第三行),非粗体更具描述性的行,大小= 8.踢球者是我试图让这个在y轴上左对齐.这个左对齐是使这个问题与众不同的原因,因为之前的答案,包括由主持人链接的答案,使用atop()不允许左对齐或不将其包含在链接的答案中.

这是我的情节目前的样子:

在此输入图像描述

title <- paste("An analysis of the mtcars dataset  ")
subheader <- paste("How does mpg change by   \n number of cyl?")

ggplot(mtcars, aes(mpg,cyl))+ 
  geom_smooth(aes(fill="Mean",level=0.095)) +
  ggtitle(paste0(title,"\n",subheader)) +
  scale_fill_grey(name='95% Confidence\n Interval',start=.65,end=.65) +
  theme(plot.title = element_text(size = rel(2.0),hjust=-.1,face="bold"))
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用bquote(),mtext(),atop(),甚至蹩脚paste()有多余的空格包括推动标题....但我一直没能找到解决的办法.

如果您有任何疑问或需要澄清,请告诉我.我感谢任何和所有的帮助!

r ggplot2

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

在ggplot中展开分类x轴

我无法弄清楚如何使用expand()scale_x_discrete()来扩展分类 x 轴,以便将标签放置在点的右侧不会脱离情节。

我知道如果 x 是数字,我可以简单地调整 x 的最大限制,以便所有点都向左移动。但是,我无法弄清楚如何使用分类变量来做到这一点。我什至不在乎扩展变量标签是否为“”。我只需要在 x 轴上最后一个分类变量的右侧有更多空间。

以下是可用于说明如何成功执行此操作的示例数据:

data(iris)

library(ggplot2)
ggplot(data = iris, aes(x = Species, y = Sepal.Width)) +
  geom_jitter() 
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助,请不要犹豫,提出任何澄清问题!

编辑:绘图以方便视觉解释

在此处输入图片说明

r ggplot2

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

一个州 Choropleth 地图内的县

我正在努力定制并找到正确的代码来构建我试图通过特定州的县的企业获利的等值线地图。

到目前为止,我所做的是能够绘制我的代码,尽管使用了我不想要的调色板和不受欢迎的中断。

library(choroplethr)
library(ggplot2)

county <- data.frame(region = c(19001,19013,19017,19019,19021,19023,19033,19035),
                 value=c(-37102,-41052,35016,-13180,-8062,6357,-46946,-5380))

county_choropleth(county, "Test", state_zoom = "iowa") + scale_fill_brewer("Test",palette="Blues")
Run Code Online (Sandbox Code Playgroud)

我得到这个情节:

在此处输入图片说明

理想情况下,我希望能够将调色板自定义为正时为蓝色,负时为红色。此外,在这两种颜色之间创建更多的色阶中断也是理想的。我想让休息更令人愉快的数字,例如“35,000”、“0”等,而不是 $35,016,哈哈。最后,我想根据 FIPS 代码将所有 NA 县设为灰色或与比例尺上出现的颜色不同的颜色。

我曾尝试使用 scale_colour_gradient 命令及其“兄弟”命令的不同变体,但未成功。

如果您需要任何说明或更多代码,请告诉我。感谢您的任何帮助!

r ggplot2 choropleth choroplethr

3
推荐指数
1
解决办法
1792
查看次数

在 R 中使用 ggplot2 创建多项目时间线

我正在尝试创建一个多项目时间表,其中包含项目的各个阶段,以便在一个易于可视化的地方组织我们当前的所有项目。

我最初找到了这个timeline()包,并且能够半创建我所希望的。然而,这个包似乎不是很可定制,所以我希望能完成我的时间线ggplot2()

这是我的假数据:

Phase Project StartDate EndDate  
SD Test1 2015-08-01 2015-08-31  
DD Test1 2015-08-31 2015-09-30  
CD Test1 2015-09-30 2015-11-14  
PC Test1 2015-11-14 2015-12-14  
CA Test1 2015-12-14 2016-08-10  
SD Test2 2015-09-01 2015-10-01  
DD Test2 2015-10-01 2015-10-31  
CD Test2 2015-10-31 2015-12-15  
PC Test2 2015-12-15 2016-01-14  
CA Test2 2016-01-14 2017-01-08  
SD Test3 2016-01-01 2016-01-13  
DD Test3 2016-01-13 2016-01-25  
CD Test3 2016-01-25 2016-02-12  
PC Test3 2016-02-12 2016-03-13  
CA Test3 2016-03-13 2017-01-07  
SD Test4 2015-06-01 2015-06-01  
DD Test4 2015-06-01 2015-06-01  
CD …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 boxplot

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

在Google Maps API中制作多个样式参考

我无法弄清楚如何通过ggmap()R中的Google Maps API在一个查询中创建多个样式引用.

制作一个查询很简单:

library(ggmap)

map <- get_googlemap("new york city", 
                     zoom = 12, 
                     maptype = "roadmap", 
                     style = c(feature = "poi.medical", 
                               element = "geometry", 
                               color = "red"))
ggmap(map)
Run Code Online (Sandbox Code Playgroud)

但是,假设我希望所有公园都是蓝色的,而医院也是红色的.我该怎么做呢?

我在我的样式变量中尝试了嵌套连接,但这不起作用.另外,如果我创建两个单独的样式参数,我会收到以下错误:

formal argument "style" matched by multiple actual arguments
Run Code Online (Sandbox Code Playgroud)

(作为参考,公园poi.park位于Google Maps API中,元素也是"几何",颜色将是"蓝色".)

在Google Maps API参考中,他们声明您可以轻松地在一个参数中嵌套多个JSON声明:

样式规则按您指定的顺序应用.不要将多个操作组合到单个样式操作中.而是将每个操作定义为样式数组中的单独条目.

我怎么能在R中这样做?

感谢您提供的所有帮助,如果您有任何疑问或需要澄清,请与我们联系!

google-maps r google-maps-api-3 ggmap

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