小编Bri*_*ggs的帖子

R - 图例:为同一文本指定多种颜色

我有一个R条形图,有六个条形,每个条形分为两个部分和六种颜色 - 但是几种颜色意味着相同的东西.如何将一个文本分配给图例中的多种颜色?在此先感谢您的帮助!!!

这是情节的R代码:

height<-matrix(c(64.39173921,73.08486662,
                 64.25261321,90.70965993,
                 64.91170611,38.21450776,
                 35.60826079,26.91513338,
                 35.74738679,9.290340073,
                 35.08829389,61.78549224), 
                 nrow=2, ncol=6, byrow=TRUE,
                 dimnames=list(c("Bilateral", "Multilateral"),
                           c("GER \ntotal", "GER \nto LA", "ESP \ntotal", 
                                 "ESP \nto LA", "UK \ntotal", "UK \nto LA")))

tmp <- height
height <- matrix(0,nrow=12,ncol=6)
height[cbind(1:12,rep(1:6,each=2))] <- tmp

colnames(height) <- colnames(tmp)
rownames(height) <- rep(rownames(tmp),6)


barplot(height, beside=FALSE,
        main="Bilateral vs. Multilateral Aid 2004-8 average", 
        ylab="Percentage of aid", ylim=c(0,100),
        col=c("deepskyblue4","deepskyblue",
              "deepskyblue4","deepskyblue",
              "darkolivegreen4","darkolivegreen1",
              "darkolivegreen4","darkolivegreen1",
              "firebrick4", "firebrick1",
              "firebrick4", "firebrick1")
        )
Run Code Online (Sandbox Code Playgroud)

plot r legend bar-chart

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

在Mac OS X版本10.6.7上,当.parallel = TRUE时,ddply较慢

我想让ddply在我的mac上并行运行.我使用的代码如下:

library(doMC)
library(ggplot2) # for the purposes of getting the baseball data.frame
registerDoMC(2)


> system.time(ddply(baseball, .(year), numcolwise(mean)))
   user  system elapsed 
  0.959   0.106   1.522 
> system.time(ddply(baseball, .(year), numcolwise(mean), .parallel=TRUE))
   user  system elapsed 
  2.221   2.790   2.552 
Run Code Online (Sandbox Code Playgroud)

当我运行.parallel = TRUE时为什么ddply会变慢?我在网上搜索无济于事.我也尝试registerDoMC()了,结果是一样的.

parallel-processing macos r plyr

6
推荐指数
2
解决办法
1365
查看次数

在ggplot2中创建堆积密度图

我正在尝试在ggplot2中创建堆叠密度图,我也试图了解qplot如何相对于ggplot工作.

我在网上找到了以下示例:

qplot(depth, ..density.., data=diamonds, geom="density", 
  fill=cut, position="stack")
Run Code Online (Sandbox Code Playgroud)

我尝试将其转换为对ggplot的调用,因为我想了解它是如何工作的:

ggplot(diamonds, aes(x=depth, y=..density..)) + 
  geom_density(aes(fill=cut, position="stack"))
Run Code Online (Sandbox Code Playgroud)

这就产生了一个密度图,但并没有将其叠.

qplot创建的内容与ggplot创建的内容有何不同?

这是堆积密度图:

堆积密度

非堆叠密度图:

在此输入图像描述

原始的例子在这里

r ggplot2

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

从R中的汇总统计中得到t?test?

在R中,prop.test可以采用汇总统计表(交叉列表中的单元格计数)而不是所有数据(参见此处的参数x ):

x - 成功计数的向量,具有两个条目的一维表,或具有2列的二维表(或矩阵),分别给出成功和失败的计数.

有没有办法给t.test(或一些等效函数)两组的均值,标准差和组大小的汇总统计数据并让它执行适当的计算?

r

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

为什么函数A体中的变量查找从全局环境中获取值,而不是从调用A的函数B中获取值?

我定义了一个函数:

.get <- function( o, ...) {
    p <- match.call( expand.dots = 0)$...
    cat( sprintf( 'In .get, it is %s.\n', eval( tail( p, 1)[[ 1]])))
    fn <- switch( typeof( o), list =, environment = `[[`, 'S4' = '@', `[`)
    if( length( p)) eval( as.call( c( fn, quote( o), p))) else o # Here when true, I compose a call based on p.
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试如下:

it <- 1
m <- matrix( seq( 9), 3)
sapply( seq( 3), function( it) {
    cat( …
Run Code Online (Sandbox Code Playgroud)

environment r call

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

添加图层而不影响音阶训练

有没有办法在 ggplot 中添加图层而不影响尺度的训练,或者至少不影响尺度的限制?

我正在处理的用例是我想要包含参考线,但仅当数据自然包含该线时才需要它。如果其余数据不需要它,我不希望扩展比例以包含该行。

举个例子

library("ggplot2")

g <- ggplot(data = mtcars, aes(x=mpg, y=hp)) + geom_point()
Run Code Online (Sandbox Code Playgroud)

添加 250 马力的参考线。

g + geom_hline(yintercept = 250)
Run Code Online (Sandbox Code Playgroud)

ggplot(数据 = mtcars, aes(x=mpg, y=hp)) + geom_point() + geom_hline(yintercept = 250)

如果我将数据更改为不沿 y 轴延伸那么远的数据,则 y 轴将扩展以包含水平线。

(g + geom_hline(yintercept = 250)) %+% mtcars[mtcars$cyl < 8,] 
Run Code Online (Sandbox Code Playgroud)

ggplot(数据 = mtcars[mtcars$cyl < 8,], aes(x=mpg, y=hp)) + geom_point() + geom_hline(yintercept = 250)

我想要的是在图层中指定geom_hline在确定 y 比例限制时不应使用的某种方法。适用于任何几何/图层的东西将是最好的。结果应该看起来像

g %+% mtcars[mtcars$cyl < 8,]
Run Code Online (Sandbox Code Playgroud)

先前情节所需的外观

我知道我可以手动设置 y 轴限制。但这并不能解决我的一般问题,因为我不知道如果没有附加的水平线层,轴的限制会是多少。

我认为这应该是可能的。在文档的示例layer_spatial中,它提到annotation_spatial“层不训练尺度,因此数据保持中心”,但我没有找到概括这一点的方法。

我已经看到了问题ggplot2:添加几何图形而不影响限制,这是相同的一般问题,但由于缩放了层内的值,所以答案特定于添加的层。

r ggplot2

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

在Lyx中使用Knitr的R函数出错

在Lyx中使用带有Knitr的summary()函数时出错.它之前的功能有效.

<<>>=
library(faraway)
head(teengamb)
mdl <- lm(gamble ~ sex + status, data=teengamb) 
summary(mdl)
@
Run Code Online (Sandbox Code Playgroud)

我通过Lyx中的Insert Tex Code输入此代码.我刚刚测试过我可以运行摘要(teengamb)而不是摘要(mdl).这两个代码都适用于RStudio.

错误是"未定义的控制序列",描述为"\ end {verbatim} ..."

latex r lyx knitr

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

读取R和RStudio中的URL

当我在RStudio中键入以下内容时,它工作正常:

nyt1 <- read.csv(url("http://stat.columbia.edu/~rachel/datasets/nyt1.csv"))
Run Code Online (Sandbox Code Playgroud)

但是当我在R控制台中键入相同的内容时,我收到此错误:

Error in open.connection(file, "rt") : cannot open the connection
In addition: Warning message:
In open.connection(file, "rt") : cannot open: HTTP status was '0 (nil)'
Run Code Online (Sandbox Code Playgroud)

我已经检查并重新检查了一千次,RStudio和R(相同版本等)之间的一切似乎完全相同,那么为什么会出错?

r rstudio

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

R中使用ggplot2的一致图形尺寸(图例和轴改变尺寸)

我有一个大多是化妆品问题.我正在使用ggplot2库创建四个图,然后我将其排列在一列中(使用列).图表显示相同的数据,但对于四组,x轴是时间,这就是我想将图形保持在一个列中的原因.

所以我将图例添加到顶部图形,将x轴的标签添加到底部图形.这两个动作改变了图形的大小; 添加图例会导致图形增长,添加x轴标签会使其缩小以适应这些事物.

有没有办法指定固定的图形大小,这将使我的布局一致?

我的情节: 情节

可重现结果的代码:

library(ggplot2)
library(reshape)

raw_data <- structure(list(Sample = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 
10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 
23L, 24L, 25L, 26L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 
11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 
24L, 25L, 26L), Month = structure(c(12L, 12L, 11L, 11L, 10L, 
10L, 3L, 3L, 5L, 5L, 4L, 4L, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

如何在R中验证日期

我有格式的日期dd-mm-yyyy HH:mm:ss 什么是验证此日期的最佳和最简单的方法?

我试过了

d <- format.Date(date, format="%d-%m-%Y %H:%M:%S")
Run Code Online (Sandbox Code Playgroud)

但是,如果通过非法日期,我怎么能抓住错误?

r

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

标签 统计

r ×10

ggplot2 ×3

bar-chart ×1

call ×1

environment ×1

knitr ×1

latex ×1

legend ×1

lyx ×1

macos ×1

parallel-processing ×1

plot ×1

plyr ×1

rstudio ×1