显然,民间已经想出了如何在Mathematica和LaTeX中制作xkcd风格的图形.我们可以用R做吗?GGPLOT2-ERS?一个geom_xkcd和/或theme_xkcd?
我想在基本图形中,par(xkcd = TRUE)?我该怎么做?

作为ggplot2中的第一个刺(并且在下面更加优雅地显示),将jitter参数添加到一行可以获得很好的手绘外观.所以 -
ggplot(mapping=aes(x=seq(1,10,.1), y=seq(1,10,.1))) +
geom_line(position="jitter", color="red", size=2) + theme_bw()
Run Code Online (Sandbox Code Playgroud)
这是一个很好的例子 - 但轴和字体显得比较棘手.但是,字体显示已解决(下方).处理轴的唯一方法是将它们清空并用手绘制它们吗?有更优雅的解决方案吗?特别是在ggplot2中,是否可以修改新主题系统中的element_line以获取类似抖动的参数?
我正在尝试将面板标签添加到绘图中的不同方面.我希望它们是1:7,但是,以下代码
d <- ggplot(diamonds, aes(carat, price, fill = ..density..)) +
xlim(0, 2) + stat_binhex(na.rm = TRUE) + opts(aspect.ratio = 1)
d1<-d + facet_wrap(~ color)
d1+annotate("text", x=0.25, y=1.5e+04, label=1:7)
Run Code Online (Sandbox Code Playgroud)
产量
Error: When _setting_ aesthetics, they may only take one value. Problems: label
Run Code Online (Sandbox Code Playgroud)
现在,我可以提供单个值,并在所有方面进行复制.但是如何使用annotate()在不同的方面使用不同的标签?
我一直在RMarkdown工作制作一些幻灯片集,并发现了嵌套列表和列表类型混合的奇怪行为.以下简短演示文稿仅适用于幻灯片2.嵌套列表不再嵌套,并且混合增量有序和无序列表完全失败.我尝试过几种不同的表示格式,但实际上对于不同的输出类型实际上是不同的,这是令人惊讶的.
思考?
---
title: "Attempt"
output: revealjs::revealjs_presentation
---
## Nested Incremental Lists
> * This
> + kinda works (but is not nested)
## Incremental Ordered Lists
> 1. This
> 2. works
## Broken - Nested mixed lists
> 1. This
> + Does not work
Run Code Online (Sandbox Code Playgroud) 我有一些数据,在一个因素的一个层面上,存在显着的相关性.在另一个层面,没有.并排绘制这些很简单.使用stat_smooth向两个行添加一行,也很简单.但是,我不希望在两个方面之一中显示该行或其填充.有一个简单的方法吗?也许以某种方式为其中一条线的填充和颜色指定一个空白颜色?
我试图通过动态方式在弹出窗口中为R包含图像生成我的传单地图 - 例如,
library(leaflet)
pts <- data.frame(Latitude = 30, Longitude = 30, file = "thing")
leaflet() %>%
addTiles %>%
addCircleMarkers(data = pts, lng =~Longitude, lat = ~Latitude,
popup =~ paste0("<img src = './", file, ".jpg'>"))
Run Code Online (Sandbox Code Playgroud)
然而,上面会产生一个糟糕的图像(图像中的图像).查看源使它看起来应该工作....不知道这里有什么问题.
{"lineCap":null,"lineJoin":null,"clickable":true,"pointerEvents":null,
"className":"","stroke":true,"color":"#03F","weight":5,"opacity":0.5,"fill":true,"
fillColor":"#03F","fillOpacity":0.2,"dashArray":null},null,null,
"<img src = './thing.jpg'>"]}],"limits":{"lat":[30,30],"lng":[30,30]}},"evals":[]}
Run Code Online (Sandbox Code Playgroud) 我正在尝试弄清楚如何使用reveal.js幻灯片在标题幻灯片中包含居中的背景图像,同时在RMarkdown和http://rmarkdown.rstudio.com/revealjs_presentation_format.html中书写
我的测试平台如下
---
title: "Attempt"
css: style.css
output: revealjs::revealjs_presentation
---
## Will this work
- Did the title slide have an image?
Run Code Online (Sandbox Code Playgroud)
与style.cssas
.title {
background-image: url(http://img1.wikia.nocookie.net/__cb20100706023807/familyguy/images/c/c7/Tauntaun.png);
background-position: center center;
background-attachment: fixed;
background-repeat: no-repeat;
background-size: 100% 100%;
}
Run Code Online (Sandbox Code Playgroud)
注意,.title唯一能在标题幻灯片上显示任何图像的东西.我已经根据我在SO和其他地方看到的内容尝试了一些其他组合.
.section .reveal .state-background基于Rstudio 0.98.1028,仅将背景图像添加到标题幻灯片中
.title-slide基于使用slidify将图像添加到标题幻灯片
这些都不起作用.我错过了什么吗?也许我遗漏了一个神奇的YAML选项?
我过去曾经与裁缝和投影仪合作过.我现在注意到的一件事就是R Presentations,代码框和代码字体大小的动态调整似乎都缺失了.使用knitr/beamer我可以使用size参数轻松更改字体大小(例如,size ="footnote"适用于更密集的幻灯片)以及使用选项(width = ...)更改幻灯片的代码框宽度.
我正在努力在当前的R演示实施中如何做到这一点 - 任何建议?
所以,虽然lag和lead在dplyr是伟大的,我想模仿的像人口增长的时间序列.我的旧学校代码看起来像:
tdf <- data.frame(time=1:5, pop=50)
for(i in 2:5){
tdf$pop[i] = 1.1*tdf$pop[i-1]
}
Run Code Online (Sandbox Code Playgroud)
哪个产生
time pop
1 1 50.000
2 2 55.000
3 3 60.500
4 4 66.550
5 5 73.205
Run Code Online (Sandbox Code Playgroud)
我觉得必须有一个dplyr或tidyverse办法做到这一点(像我爱我的for循环).
但是,像
tdf <- data.frame(time=1:5, pop=50) %>%
mutate(pop = 1.1*lag(pop))
Run Code Online (Sandbox Code Playgroud)
这本来是我的第一个猜测就是产生
time pop
1 1 NA
2 2 55
3 3 55
4 4 55
5 5 55
Run Code Online (Sandbox Code Playgroud)
我觉得我错过了一些明显的东西......它是什么?
注意 - 这是一个简单的例子 - 我的实例使用多个参数,其中许多是时变的(我在不同的GCM场景下模拟预测),因此,tidyverse被证明是将我的模拟结合在一起的强大工具.
仔细阅读Intro to Leaflet后,我尝试使用数据集,但是当我尝试使用公式界面时,海带没有为圆圈或标记添加颜色.我重新创建了一个玩具示例,正如您所看到的,有些东西已经关闭.虽然可能是我!所以:
library("leaflet")
set.seed(100)
pdf <- data.frame(Latitude = runif(100, -90,90), Longitude = runif(100, -180,180))
#just red
leaflet(pdf) %>% addTiles() %>%
addCircleMarkers(lat = ~ Latitude, lng = ~ Longitude, color= "red")
Run Code Online (Sandbox Code Playgroud)
使用漂亮的地图显示红色圆圈标记工作得很好.

但.添加颜色似乎完全扼杀了标记.
#let's add some color!
pdf$Study <- factor(rep(1:10,10))
cols <- rainbow(length(levels(pdf$Study)))
pdf$colors <- cols[unclass(pdf$Study)]
leaflet(pdf) %>% addTiles() %>%
addCircleMarkers(lat = ~ Latitude, lng = ~ Longitude, color= ~ colors)
Run Code Online (Sandbox Code Playgroud)

对pdf的颜色列的检查表明,所有颜色应该是明亮和美丽的,但是,唉.这里发生了什么?
我正在测试一个模型,然后再让它撕开一个完整的数据集。我的数据是数组中的 RGB 图像,因此,我的训练数据集目前具有以下维度
> dim(ff_train)
[1] 10 500 500 3
Run Code Online (Sandbox Code Playgroud)
因此,10 张图像,每张 500x500 具有 3 个颜色层 (RGB)。
我的测试数据是一样的
> dim(ff_test)
[1] 10 500 500 3
Run Code Online (Sandbox Code Playgroud)
我已经像这样设置了我的模型:
model <- keras_model_sequential() %>%
layer_dense(units = 16, activation = "relu",
input_shape = c(10)) %>%
layer_dense(units = 16, activation = "relu") %>%
layer_dense(units = 1, activation = "sigmoid")
model %>% compile(
optimizer = "rmsprop",
loss = "binary_crossentropy",
metrics = c("accuracy")
)
history <- model %>% fit(
x = ff_train,
y = ff_train_labels$fraction_yes,
epochs = 20, …Run Code Online (Sandbox Code Playgroud) 我正在开展一个项目,我有多个响应变量并希望显示有序的履带图.基本R绘图功能相当简单
#generate random data frame
set.seed(42)
my_df<-data.frame(x=rnorm(100), y=runif(100,-2,2), z=rpois(100, 10))
#3 panels of plots
par(mfrow=c(1,3))
#note the abline to show an axis at y=0
sapply(c("x", "y", "z"), function(i){ plot(sort(my_df[[i]])); abline(0,0)})
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用ggplot2来做到这一点.为了将这三个面板放在一起,我知道我必须融合数据框,但是......如何通过变量进行排序并在以后用0轴进行绘图?我到目前为止所有的一切......
melt_df<-melt(my_df)
qplot(1:100, value, data=melt_df, geom="point",facets=~variable)+theme_bw(base_size=16)
Run Code Online (Sandbox Code Playgroud) 我很好奇,有没有办法在循环中结合knitr选项的变化?例如,如果我想循环查看同一块代码在所有不同的knitr主题中的外观,我的第一个猜测是:
\ {的DocumentClass文章}
\begin{document}
<<test>>=
themes<-knit_theme$get()
for (a.theme in themes){
knit_theme$set(a.theme)
a <- 3+5
b<- sum(1:10, na.rm=T)
for(g in 1:10) z<-0
}
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
然而,这会产生一些非常奇怪的输出.有没有办法使用这样的循环,动态更改输出,或者动态包含或不包含某些块?
我正在做一些文件合并,但两个文件不会 - 尽管有一个匹配的键列(我实际上通过从另一个复制粘贴生成了一个键列)。这是最该死的事情,我担心我要么疯了,要么错过了一些基本的东西。作为一个例子(我不知道如何使它可重现,因为当我将这些字符串复制并粘贴到新对象中时,它们比较得很好),这是我当前的控制台:
> q
[1] "1931 80th Anniversary"
> z
[1] "1931 80th Anniversary"
> q == z
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
我对两者都进行了调整,以防万一我错过了什么,而且......
> str(q)
chr "1931 80th Anniversary"
> str(z)
chr "1931 80th Anniversary"
Run Code Online (Sandbox Code Playgroud)
这里会发生什么?