小编tjr*_*tjr的帖子

geom_tile单色为0,然后是色标

我想制作一个热图,其中颜色托盘为绿色到红色,但0的值为白色.我开始使用基于因子的不同高填充颜色的geom_tile热图,以及其他SO,但是不能完全得到我需要的东西.例如,使用以下数据库:

df <- data.frame(expand.grid(1:10,1:10))
df$z <- sample(0:10, nrow(df), replace=T)
Run Code Online (Sandbox Code Playgroud)

我可以创建这个情节:

ggplot(df,aes(x = Var1,y = Var2,fill = z)) + 
  geom_tile() + 
  scale_fill_gradient(low = "green", high = "red")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 但我希望等于零的值为白色.所以这部分在那里:

ggplot(df,aes(x = Var1,y = Var2,fill = z)) + 
  geom_tile() + 
  scale_fill_gradient(low="green", high="red", limits=c(1, 10))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

而白色为0,但我失去了绿色到红色:

ggplot(df,aes(x = Var1,y = Var2,fill = z)) + 
  geom_tile() + 
  scale_fill_gradient(low = "white", high = "red")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

而且我根本不能使用brewer scale(尽管我认为我错过了一些基于错误的简单).

ggplot(df,aes(x = Var1,y = Var2,fill = z)) + 
  geom_tile() + 
  scale_fill_brewer("Greens")
Run Code Online (Sandbox Code Playgroud)

错误:提供给离散比例的连续值

我应该用NA替换0吗?任何帮助,将不胜感激.

r heatmap ggplot2

10
推荐指数
1
解决办法
9367
查看次数

分组并有条件地计算

我还在学习R中的数据管理.我知道我非常接近,但无法获得精确的语法.我通过使用R中的条件条件计数以及在R中分组来查看 计数变量 但是不能完全转换为我的工作.我试图得到一个由ST等于0的dist.km计数.最终我想要添加具有不同距离范围的计数的列,但是应该能够在得到它之后得到它.最终表应该具有所有状态并且计数为0.这是一个20行的样本.

structure(list(ST = structure(c(12L, 15L, 13L, 10L, 15L, 16L, 
11L, 12L, 8L, 14L, 10L, 14L, 6L, 11L, 5L, 5L, 15L, 1L, 6L, 4L
), .Label = c("CT", "DE", "FL", "GA", "MA", "MD", "ME", "NC", 
"NH", "NJ", "NY", "PA", "RI", "SC", "VA", "VT", "WV"), class = "factor"), 
Rfips = c(42107L, 51760L, 44001L, 34001L, 51061L, 50023L, 
36029L, 42101L, 37019L, 45079L, 34029L, 45055L, 24003L, 36027L, 
25009L, 25009L, 51760L, 9003L, 24027L, 1111L), zip = c(17972L, 
23226L, 2806L, 8330L, …
Run Code Online (Sandbox Code Playgroud)

grouping aggregate r count

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

更改图例标题位置而不更改标签

我正在建立一个前面提到的问题,geom_tile单色为0 ......它从以下代码开始,提供的答案代码创建了图:

df <- data.frame(expand.grid(1:10,1:10))
df$z <- sample(0:10, nrow(df), replace=T)
# provided answer from SO
ggplot(df,aes(x = Var1,y = Var2, fill = z)) + 
  geom_tile() + 
  scale_fill_gradientn(colours = c("white", "green", "red"), values = c(0,0.1,1))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想将图例移到底部,图例标题位于顶部并居中.代码和结果如下:

ggplot(df,aes(x = Var1,y = Var2, fill = z)) + 
  geom_tile() + 
  scale_fill_gradientn(colours = c("white", "green", "red"), values = c(0,0.1,1)) +
  theme(legend.position="bottom") +
  guides(fill = guide_legend(title.position="top",label.position = "bottom"))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

重新定位图例工作,标题位于"顶部"但我丢失了连续刻度并且无法使标题居中.有关改变传奇标题位置的SO的一些信息性问答,但似乎没有一个问题是将连续的传奇改为谨慎.

r ggplot2

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

在r中一步汇总并计算

我正在尝试使用R中的聚合来汇总一些数据,同时使用以下数据计算其他列的值

新数据

Year    HNo County  ST  Month   Day DuckBag GooseBag
2012    264120547   LA  ND  10  13  6   0
2008    264080047   EDDY    ND  9   27  4   1
2013    26430119    ROLETTE ND  10  20  3   0
2006    264060447   BURKE   ND  10  25  5   0
2006    264061113   BENSON  ND  10  2   3   1
2012    564120139   OLIVER  ND  12  15  0   3
2013    26430294    TOWNER  ND  10  10  2   0
2007    564070298   LOGAN   ND  9   29  0   0
2007    564070869   SHERIDAN    ND  10  21 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

标签 统计

r ×4

ggplot2 ×2

aggregate ×1

count ×1

dplyr ×1

grouping ×1

heatmap ×1