小编wib*_*ley的帖子

在创建表时减少值

我有以下类型的数据:

 mydata <- data.frame (yvar = rnorm(200, 15, 5), xv1 = rep(1:5, each = 40),
   xv2 = rep(1:10, 20))

table(mydata$xv1, mydata$xv2)


    1 2 3 4 5 6 7 8 9 10
  1 4 4 4 4 4 4 4 4 4  4
  2 4 4 4 4 4 4 4 4 4  4
  3 4 4 4 4 4 4 4 4 4  4
  4 4 4 4 4 4 4 4 4 4  4
  5 4 4 4 4 …
Run Code Online (Sandbox Code Playgroud)

aggregate r

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

使用“dplyr::count()”进行标准评估

如何将字符向量传递给dplyr::count().

library(magrittr)
variables <- c("cyl", "vs")

mtcars %>% 
  dplyr::count_(variables)
Run Code Online (Sandbox Code Playgroud)

这很好用,但是dplyr v0.8会抛出警告:

count_() 已弃用。请使用 count() 代替

“编程”小插图或 tidyeval 书可以帮助您使用 count() 进行编程: https: //tidyeval.tidyverse.org

我没有dplyr::count()https://tidyeval.tidyverse.org/dplyr.html或tidyeval当前版本的其他章节和用 dplyr 编程中看到引用名称的标准评估示例。

阅读本文档和另一个问题后,我的两个最佳猜测是

mtcars %>% 
  dplyr::count(!!variables)

mtcars %>% 
  dplyr::count(!!rlang::sym(variables))
Run Code Online (Sandbox Code Playgroud)

抛出这两个错误:

错误:列的<chr>长度必须为 32(行数)或 1,而不是 2

错误:只有字符串可以转换为符号

r dplyr standard-evaluation

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

R用箱子替换值

我有一个带整数值的df.出于分类的目的,我想将这个df替换为具有预定间隔而不是整数的更简单的df.我该如何有效地做到这一点?一个例子如下:

DF:

   1   2   3
1  5   3   0 
2  1   10  12
3  3   0   10
Run Code Online (Sandbox Code Playgroud)

转换为:

   1      2      3
1  [3-5]  [3-5]  [0-2]
2  [0-2]  [10-12][10-12]
3  [3-5]  [0-2]  [10-12]
Run Code Online (Sandbox Code Playgroud)

r classification

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

使用 geom_sf() 时如何保持多个绘图之间的比例一致?

我制作了一系列图,并且各个图的值范围不同,因此各个图之间的比例也不同。我试图保持比例一致(从0到130000),所以我设置midpoint=6500,但似乎它不起作用。

 for (i in 2016:2018){
   for (m in 1:12){
       yourfilename=paste(i,m,".jpg",sep="") 
       jpeg(file=yourfilename, width =800, height = 700)

       product_by_month<- data_all%>%
       filter(year==i & month==m)

       product_2010_map<-c_map%>%
       left_join(product_by_month,by=c("name"="city"))

       pp<-ggplot(data=product_2010_map,aes(fill=amt)) + 
           theme(panel.background=element_blank(),
                 plot.title=element_text(hjust=0.5),
                 axis.ticks=element_blank(),
                 axis.text=element_blank())+
           geom_sf()+
           scale_color_gradient2(low = "green", high = "blue",
                                midpoint=6500)
      print(pp)
      dev.off()  
  }
}
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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