我试过了install.packages("Rtools"),但这提供了一个错误
套餐'Rtools'不可用(R版3.5.1)
鉴于最新版本的R只有一周的时间,我应该等待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)
 我想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的新手,正在从事一个项目。
我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) 与此处描述的问题有些类似,我在对齐 shapefile 和 ggmap 对象时遇到问题。
我的形状文件由澳大利亚维多利亚州的局部区域边界组成,我试图将它们覆盖在该州(维多利亚州)的谷歌地图上。
源 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)我转换 shapefile 以匹配谷歌的伪墨卡托投影(至少我认为我正在做的)
sp <- spTransform(sp, CRS("+proj=longlat +init=epsg:3857"))
Run Code Online (Sandbox Code Playgroud)
并变成sp一个强化的数据框df.sp。
然后我用
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)请帮我在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) 下面是一些使用 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) rlang::invoke()现在已软弃用,已  purrr::invoke()退休。如今,以编程方式调用带有参数列表的函数的整洁方法是什么?
通常我会做这种事情
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) 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只用它吗?