小编Mau*_*ers的帖子

Rtools与R版本3.5.1不兼容吗?

我试过了install.packages("Rtools"),但这提供了一个错误

套餐'Rtools'不可用(R版3.5.1)

鉴于最新版本的R只有一周的时间,我应该等待R开发人员赶上,还是这是我应该报告的错误?

r rtools

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

使用ggplot添加到投影地图时,R饼图会扭曲

我想使用ggplot将饼图绘制到投影地图上.然而,饼图变得扭曲,可能是由于投影.有没有人知道如何在不失真的情况下绘制饼图?示例代码如下,谢谢.

lib = c("ggplot2","scatterpie")
lapply(lib, library, character.only=TRUE)
pie = data.frame(
    lon=c(-5.0,-3.5,-5.5,5.0), 
    lat=c(50.0,50.2,50.1,50.5), 
    A=c(0.25,0.75,0,0.25), 
    B=c(0.75,0.10,0,0.75), 
    C=c(0,0.15,1,0), 
    radius=0.05)

world = map_data("world", resolution=0)

ggplot(data=world, aes(x=long, y=lat, group=group)) + 
    geom_polygon(data=world, aes(x=long, y=lat, group=group), fill="darkseagreen", color="black") + 
    coord_map(projection = "mercator",xlim=c(-7.0,-2.0), ylim=c(49,52)) + 
    geom_scatterpie(aes(x=lon, y=lat, r=0.15), data=pie, cols=c("A","B","C"), color="black", alpha=0.9) + 
    ylab("Latitude\n") + xlab("Longitude") + 
    theme(
        panel.background = element_rect(fill="lightsteelblue2"),
        panel.grid.minor = element_line(colour="grey90", size=0.5), 
        panel.grid.major = element_line(colour="grey90", size=0.5), 
        legend.position = "top")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2

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

在rmarkdown ioslides中包含blockquote

我想blockquote在RMarkdown ioslides演示文稿中加入,但RMarkdown语法blockquote似乎不适用于ioslides_presentation输出。

这是我的代码:

---
title: "La recherche reproductible"
date: '2017-08-06'
output: 
  ioslides_presentation:
    css: style_presentation.css
---

## First slide 

> Every project you work on, always at least have one collaborator, and that's future you.
Hadley Wickham, chief scientist at RStudio
Run Code Online (Sandbox Code Playgroud)

这是我的输出的屏幕截图。 在此处输入图片说明

谢谢你的帮助!

r r-markdown ioslides

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

为什么dplyr :: filter不允许我使用两个垂直方向进行过滤?

我是R的新手,正在从事一个项目。

data.frame acscleantib的表格如下

head(acscleantib[-3])

#       Zip        Year Total_Population Median_Income City  State                                    
#    ZCTA5 00601    2015      18088         10833    Adjun   PR    
#      ZCTA5 00602  2017      40859         16353    Agua    AB
Run Code Online (Sandbox Code Playgroud)

我的目标是了解2015年与2017年之间总人口的差异。

我的输入:

popuinc <-  acscleantib %>% dplyr::filter(Year %in% c(2015,2017)) %>% 
    spread(Year,Total_Population) %>% group_by(Zip) %>%
    summarise(`Total2015` = sum(`2015`, na.rm = TRUE),
            `Total2017` = sum(`2017`, na.rm = TRUE)) %>% 
    mutate(Difference = Total2017- Total2015)

popuinc

#    Zip       Total2015 Total2017 Difference
#  <fct>           <int>     <int>      <int>
#1 ZCTA5 00601     17982     17599       -383
#2 ZCTA5 00602 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

5
推荐指数
0
解决办法
43
查看次数

将 shapefile 添加到 ggmap

与此处描述的问题有些类似,我在对齐 shapefile 和 ggmap 对象时遇到问题。

  1. 我的形状文件由澳大利亚维多利亚州的局部区域边界组成,我试图将它们覆盖在该州(维多利亚州)的谷歌地图上。

    源 shapefile 具有以下 PROJ4 字符串(从 prj 文件中提取)

    [+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs]
    
    Run Code Online (Sandbox Code Playgroud)

    对应于EPSG:4283

    这是我的 shapefile 对象的摘要sp

    > summary(sp)
    Object of class SpatialPolygonDataFrame
    Coordinates:
            min        max
    x  96.81677 159.109219
    y -43.74051  -9.142176
    Is projected: FALSE
    proj4string:
    [+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs]
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我转换 shapefile 以匹配谷歌的伪墨卡托投影(至少我认为我正在做的)

    sp <- spTransform(sp, CRS("+proj=longlat +init=epsg:3857"))
    
    Run Code Online (Sandbox Code Playgroud)

    并变成sp一个强化的数据框df.sp

  3. 然后我用

    map <- get_map("Victoria", zoom = 7, maptype = "terrain", source = "google")
    
    Run Code Online (Sandbox Code Playgroud)

    获取维多利亚的谷歌地形图,并(gg)绘制它们

    ggmap(map) + geom_polygon(data = …
    Run Code Online (Sandbox Code Playgroud)

gis r ggplot2 ggmap

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

为R金字塔图添加平滑线

请帮我在R金字塔图中添加平滑线条(图中所示的粗黑线),如附图所示.感谢您的帮助.该图显示了根据年龄和性别的人口分布.

xy.pop<-c(3.2,3.5,3.6,3.6,3.5,3.5,3.9,3.7,3.9,3.5,3.2,2.8,2.2,1.8,1.5,1.3,0.7,0.4)
xx.pop<-c(3.2,3.4,3.5,3.5,3.5,3.7,4,3.8,3.9,3.6,3.2,2.5,2,1.7,1.5,1.3,1,0.8)
agelabels<-c("0-4","5-9","10-14","15-19","20-24","25-29","30-34",
         "35-39","40-44","45-49","50-54","55-59","60-64","65-69","70-74",
         "75-79","80-44","85+")
mcol<-color.gradient(c(0,0,0.5,1),c(0,0,0.5,1),c(1,1,0.5,1),18)
fcol<-color.gradient(c(1,1,0.5,1),c(0.5,0.5,0.5,1),c(0.5,0.5,0.5,1),18)
par(mar=pyramid.plot(xy.pop,xx.pop,labels=agelabels,main="Australian population pyramid 2002",lxcol=mcol,rxcol=fcol,))
Run Code Online (Sandbox Code Playgroud)

r

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

如何在 R 中创建金字塔条形图,条形之间带有 y 轴标签

下面是一些使用 ggplot 生成条形图的 R 代码,其中条形向左和向右移动,以 为中心x = 0。我想取 y 轴上的文本(舞台名称),并将它们放在左右条之间。这是创建图形的 R 代码:

library(dplyr)
libary(ggplot2)

# Read data
email_campaign_funnel <- read.csv("https://raw.githubusercontent.com/selva86/datasets/master/email_campaign_funnel.csv")

# X Axis Breaks and Labels 
brks <- seq(-15000000, 15000000, 5000000)
lbls = paste0(as.character(c(seq(15, 0, -5), seq(5, 15, 5))), "m")

# Shorten Names
email_campaign_funnel <- email_campaign_funnel %>%
    dplyr::mutate(Stage = gsub('Stage ', '', Stage)) %>%
    dplyr::mutate(Stage = gsub(' Page', '', Stage)) %>%
    dplyr::mutate(Stage = gsub('Campaign-', '', Stage))

# Plot
ggplot(email_campaign_funnel, aes(x = Stage, y = Users, fill …
Run Code Online (Sandbox Code Playgroud)

r bar-chart ggplot2

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

现在 invoke() 已被软弃用,有什么替代方案?

rlang::invoke()现在已软弃用,已 purrr::invoke()退休。如今,以编程方式调用带有参数列表的函数的整洁方法是什么?

functional-programming r tidyverse

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

如何在保留顺序和重复的同时使用向量作为匹配特定列的键来检索df的行?

通常我会做这种事情

df2 <- subset(df1, df$ID %in% vector)
Run Code Online (Sandbox Code Playgroud)

但这并不能保留重复; 要么

df2 <- df[vector,]
Run Code Online (Sandbox Code Playgroud)

但是这与df$column只有行的矢量不匹配

这是一个例子 data.frame

  ID      Fruit     Color
1  2      Apple     Amber
2  5    Bannana      Blue
3  7     Cherry      Cyan
4  9       Date Dandelion
5 14 Elderberry     Earth
6 15        Fig   Fuchsia
7 21      Grape     Green
Run Code Online (Sandbox Code Playgroud)

这是一个样本矢量

vector <- c(5,5,5,7,2,14,14,14)
Run Code Online (Sandbox Code Playgroud)

这是我想要的输出

  ID      Fruit Color
1  5    Bannana  Blue
2  5    Bannana  Blue
3  5    Bannana  Blue
4  7     Cherry  Cyan
5  2      Apple Amber
6 14 Elderberry Earth …
Run Code Online (Sandbox Code Playgroud)

r

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

拉普利vs申请

X=c(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)

我想在这个向量上应用一个函数; 假设我想拥有其元素的平方.我通过申请得到它lapply; 但是apply我得到了一个错误.

apply(X,function(x){x^2}) 
lapply(X,function(x){x^2})
Run Code Online (Sandbox Code Playgroud)

我们可以lapply只用它吗?

r

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