我..density..经常使用它,它很棒.书中有很多例子ggplot2,以及..count...通过stat_density文档,我了解到了..scaled...看到有人..n..在StackOverflow上使用,我发现了这一点.现在我只是想知道我还缺少什么.
搜索引擎似乎忽略了.搜索字符串中的s,例如"..n .. ggplot2",即使我将它们转义.这些变量有一个通用术语吗?还有更多吗?我在哪里可以找到关于它们的文档?
通过深入研究R源代码(文件R-3.2.2/src/main/gram.y行2836,2852)我发现R解析器/标记器认为这:=是一个LEFT_ASSIGNMENT标记.
但是当我尝试将它用作赋值运算符时R.3.2.2,
我有一个错误(无法找到:=...的函数)但是你可以看到R认为它是一个类似的赋值<-:
> myVar := 42
Erreur : impossible de trouver la fonction ":="
> :=
Erreur : unexpected assignment in ":="
> <-
Erreur : unexpected assignment in "<-"
Run Code Online (Sandbox Code Playgroud)
它是一个bug,还是:=需要从tokenizer源代码中删除令牌?
:=R中有关于运算符的过去的故事吗?
我需要不同宽度的方面; 左图显示实验的动态范围,右图显示测试条件.有没有办法让facet_wrap有自由x和y标度?它可以在facet_grid中使用,但即使scale ="free",也有一个固定的y标度.facet_wrap允许自由y比例,但x比例似乎是固定的.几年前在谷歌页面上发布了同样的问题,但答案并不令人满意. https://groups.google.com/forum/#!topic/ggplot2/1RwkCcTRBAw
对不起,如果这也是重复的话; 任何帮助将非常感激!
mdf <- read.table(text="
strain val type
1 1 0.0000 sample
2 1 0.0140 sample
3 1 0.0175 sample
4 2 0.0025 sample
5 2 0.0260 sample
6 2 0.0105 sample
7 3 0.0190 sample
8 3 0.0725 sample
9 3 0.0390 sample
10 4 0.0560 sample
11 4 0.0695 sample
12 4 0.0605 sample
13 5 0.0735 sample
14 5 0.1065 sample
15 5 0.0890 sample
16 6 0.1135 sample
17 6 0.2105 sample …Run Code Online (Sandbox Code Playgroud) 我有一个ggplot,我将填充和alpha映射因子,如下所示:
set.seed(47)
the_data <- data.frame(value = rpois(6, lambda=20),
cat1 = rep(c("A", "B"), each = 3),
cat2 = rep(c("X", "Y", "Z"), 2))
ggplot(the_data, aes(y = value, x = cat2, alpha = cat1, fill = cat2)) +
geom_bar(stat = "identity", position = "dodge") +
scale_alpha_discrete(range = c(0.5, 1)) +
theme_bw()
Run Code Online (Sandbox Code Playgroud)

我正在制作它的人没有找到alpha的传说非常清楚.我认为一个很好的选择将是这样的(我在基础图形中一起入侵):

我知道我不能使用高级ggplot命令生成这样的图例,但是我可以grid将它放在我的情节之上吗?
我有一些点的情节,我想用段来连接它们
dummy = data.frame(GROUP=c("A","B","C","D"),
X = c(80,75,68,78),
Y=c(30, 32,36,33)
)
df= data.frame(x1 = c(80), x2 =c(78) , y1=c(30), y2 =c(33))
df
library(ggplot2)
ggplot(dummy,aes(x=X,y=Y,color=GROUP)) +
geom_point() +
geom_segment(aes(x=x1,y=y1,xend= x2, yend =y2), data = df)
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个错误
Error in eval(expr, envir, enclos) : object 'GROUP' not found
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
我有一个数据框,我想了解摘要如何生成它的信息.具体而言,汇总如何生成因子的每个级别中的元素数量的计数.我可以使用摘要,但我想学习如何更好地处理因素.当我尝试?摘要时,我只是得到一般信息.这是不可能的,因为它是字节码?
在这个答案中,@Yihui表示knitr利用全球环境.这让我很困惑 - 我的经历是,它没有.我从来没有真正使用过knit,我通常直接使用PDF.
在一个小实验中,似乎knit确实使用了全局环境(或者使用envir参数指定的任何环境),但knit2pdf事实并非如此.
最小的例子:global_test.Rnw文件
\documentclass{article}
\begin{document}
<<>>=
print(x)
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
R脚本:
x <- "Hello World"
knit(input="global_test.Rnw")
# Works as expected, could now call tools::texi2pdf to generate pdf.
knit2pdf(input="global_test.Rnw")
# Doesn't
Run Code Online (Sandbox Code Playgroud)
后者生成PDF文件,不会显示并发出警告:
running command '"C:\PROGRA~2\MIKTEX~1.9\miktex\bin\texi2dvi.exe" --quiet --pdf
"global.pdf" -I "C:/PROGRA~1/R/R-215~1.3/share/texmf/tex/latex" -I
"C:/PROGRA~1/R/R-215~1.3/share/texmf/bibtex/bst"' had status 1
Run Code Online (Sandbox Code Playgroud)
我尝试将环境传递给knit2pdf(envir = globalenv())希望它会被...传递,我只是得到一个未使用的参数错误.
一般来说,我知道,参照全球环境表现欠佳,但有没有办法做到这一点的knit2pdf,或者明确地传递一个环境,还是我最好使用brew并sprintf作为@ Ramnath的回答上述同样的问题?
在我的用例中,我认为tools::texi2pdf没有用,因为我需要使用XeLaTeX进行编译,XeLaTeX可以knit2pdf …
我正在尝试在比较为knitr文档生成的图时对字体大小的显着差异进行故障排除.HTML /降价输出似乎是我认为正确的大小,而PDF/Latex输出大约2-4磅(例如,如果我期望12pt,输出更接近14或16分).请注意,问题似乎仅限于绘图/图形文本,并且似乎没有与输出文档中的其他文本一起显示.
我演示这个的最简单方法是使用*.Rmd创建新文件时RStudio(版本0.99.329)填充的默认内容.通过此链接可以进行并排比较.在我看来,HTML版本的大小合适,而PDF/Latex版本则没有.
据我所知,我的.Rprofile或其他可能影响此问题的位置没有任何自定义设置.我尝试过禁用/启用pdf crop,这似乎也没有影响到这个问题.我在同事机器上复制了这个问题(同时运行OS X和相同版本的RStudio).
在rmarkdown框架之外(即,只运行R代码),PDF和PNG输出之间似乎没有这样的差异.例如,以下代码生成的输出非常相似:
library(ggplot2)
r <- ggplot(data = diamonds,
aes(x = carat, y = price, color = cut, group = cut))
r + geom_smooth(size = 2) +
ggtitle("Plant growth with\ndifferent treatments")
ggsave(file="test.pdf")
ggsave(file="test.png")
Run Code Online (Sandbox Code Playgroud)
鉴于上面的代码产生的输出图非常相似,我怀疑我看到的问题与knitr或rmarkdown/pandoc转换过程有关.
所以,我的主要问题是我在输出格式之间看到的差异程度是否是预期的?我是唯一一个?它对我的系统来说是独特的吗?
如果是预期的行为,那么人们如何协调这个问题呢?对于ggplots,我一直在使用theme_bw(8.5)缩小PDF /乳胶输出的字体.这样可行,但是当为同一*.Rmd文件中的多个平台/使用创建输出时,它会增加另一层复杂性... ...的一个主要优点rmarkdown.
我的设置和系统的规格
是什么之间的区别"+"在GGPLOT2运营商和"%>%" 在magrittr操作?
我被告知它们是相同的,但是如果我们考虑以下脚本.
library(magrittr)
library(ggplot2)
# 1. This works
ggplot(data = mtcars, aes(x=wt, y = mpg)) + geom_point()
# 2. This works
ggplot(data = mtcars) + aes(x=wt, y = mpg) + geom_point()
# 3. This works
ggplot(data = mtcars) + aes(x=wt, y = mpg) %>% geom_point()
# 4. But this doesn't
ggplot(data = mtcars) %>% aes(x=wt, y = mpg) %>% geom_point()
Run Code Online (Sandbox Code Playgroud) 我ggpairs()在GGally包中使用.对图是四个连续变量,我给另一个列,一个有2个级别的因子,一个colour非常好用的参数,都按照我的预期着色点和(奖励!)在图的对角线上部分按该因子水平报告相关性.我唯一的问题是报告相关性的文本太小.
我可以在ggpairs()图中增加文本报告关联的大小吗?
我试着给出一个cex论点,似乎没有效果.我已经在使用size另一个变量; 它不会影响文本.
对于一个具体的例子:
require(GGally)
mtcars$cyl <- as.factor(mtcars$cyl)
ggpairs(mtcars, columns = c(1, 5), colour = "cyl")
Run Code Online (Sandbox Code Playgroud) r ×10
ggplot2 ×6
knitr ×2
colon-equals ×1
data.table ×1
facet ×1
legend ×1
magrittr ×1
r-faq ×1
r-grid ×1
r-markdown ×1
rstudio ×1