我有一个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) 我想让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()了,结果是一样的.
我正在尝试在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创建的内容有何不同?
这是堆积密度图:

非堆叠密度图:

原始的例子在这里
我定义了一个函数:
.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) 有没有办法在 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)
如果我将数据更改为不沿 y 轴延伸那么远的数据,则 y 轴将扩展以包含水平线。
(g + geom_hline(yintercept = 250)) %+% mtcars[mtcars$cyl < 8,]
Run Code Online (Sandbox Code Playgroud)
我想要的是在图层中指定geom_hline在确定 y 比例限制时不应使用的某种方法。适用于任何几何/图层的东西将是最好的。结果应该看起来像
g %+% mtcars[mtcars$cyl < 8,]
Run Code Online (Sandbox Code Playgroud)
我知道我可以手动设置 y 轴限制。但这并不能解决我的一般问题,因为我不知道如果没有附加的水平线层,轴的限制会是多少。
我认为这应该是可能的。在文档的示例layer_spatial中,它提到annotation_spatial“层不训练尺度,因此数据保持中心”,但我没有找到概括这一点的方法。
我已经看到了问题ggplot2:添加几何图形而不影响限制,这是相同的一般问题,但由于缩放了层内的值,所以答案特定于添加的层。
在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} ..."
当我在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(相同版本等)之间的一切似乎完全相同,那么为什么会出错?
我有一个大多是化妆品问题.我正在使用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) 我有格式的日期dd-mm-yyyy HH:mm:ss
什么是验证此日期的最佳和最简单的方法?
我试过了
d <- format.Date(date, format="%d-%m-%Y %H:%M:%S")
Run Code Online (Sandbox Code Playgroud)
但是,如果通过非法日期,我怎么能抓住错误?