我想用dplyr在每个组中选择一个具有最大值的行.
首先,我生成一些随机数据来显示我的问题
set.seed(1)
df <- expand.grid(list(A = 1:5, B = 1:5, C = 1:5))
df$value <- runif(nrow(df))
Run Code Online (Sandbox Code Playgroud)
在plyr中,我可以使用自定义函数来选择此行.
library(plyr)
ddply(df, .(A, B), function(x) x[which.max(x$value),])
Run Code Online (Sandbox Code Playgroud)
在dplyr中,我使用此代码来获取最大值,但不是具有最大值的行(在本例中为C列).
library(dplyr)
df %>% group_by(A, B) %>%
summarise(max = max(value))
Run Code Online (Sandbox Code Playgroud)
我怎么能实现这个目标?谢谢你的任何建议.
sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
[5] LC_TIME=English_Australia.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] dplyr_0.2 plyr_1.8.1
loaded via a namespace (and not attached):
[1] assertthat_0.1.0.99 parallel_3.1.0 Rcpp_0.11.1 …Run Code Online (Sandbox Code Playgroud) 我在一个图中有数千个点并设置"size = 1".但是,图例中的磅值也会减小.如何增加图例中的磅值?
例如.
num <- 10000
set.seed(1)
df <- data.frame(x = seq(1, num), y = runif(num), z = rep(1:2, each = num / 2))
df$z <- factor(df$z)
library(ggplot2)
p <- ggplot(df, aes(x, y, colour = z)) + geom_point(size = 1)
p
Run Code Online (Sandbox Code Playgroud)

我需要在我的Shiny应用程序中包含一个js库.目前我使用includeHTML将脚本直接包含在html代码中.例如
includeHTML('URL.js')
Run Code Online (Sandbox Code Playgroud)
当我尝试浏览js文件时,浏览器将显示"Not Found",如果我使用tags $ script,例如
http://127.0.0.1:7106/URL.js
tags$script(src = 'URL.js')
Run Code Online (Sandbox Code Playgroud)
现在我把URL.js放在ui.r和server.r的同一个文件夹中.
我应该在哪里存储URL.js文件?或者还有其他方法来包含js文件?
谢谢你的任何建议.
我正在使用knitr(1.9.5和1.9.17)和rmarkdown(0.5.3.1),并希望在pdf输出中保持数字位置.fig.pos="H"使用chunk选项时,生成的pdf文件正常工作.
但是,fig_caption: yes在yaml标题中设置时,图形位置不会保持.
我该如何解决这个问题?谢谢你的任何建议.
编辑:
在了解乳胶的漂浮环境之后.我将float包添加到标题中.
\usepackage{float}
Run Code Online (Sandbox Code Playgroud)
但生成的tex文件总是htbp在figure环境fig.pos中使用任何选项.手动切换htbp到之后H,所有数字的位置都保持不变.
这是我的rmd文件示例:
---
title: "Untitled"
output:
pdf_document:
fig_caption: yes
includes:
in_header: mystyles.sty
---
# Section 1
Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.
Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of …Run Code Online (Sandbox Code Playgroud) 我想用/或和的组合对data.frame进行子集化.这是我使用普通R函数的代码.
df <- expand.grid(list(A = seq(1, 5), B = seq(1, 5), C = seq(1, 5)))
df$value <- seq(1, nrow(df))
df[(df$A == 1 & df$B == 3) |
(df$A == 3 & df$B == 2),]
Run Code Online (Sandbox Code Playgroud)
如何在dplyr包中使用过滤功能转换它们?谢谢你的任何建议.
我想获得适合1M个独立数据集的线性回归斜率(对于data.frame为1M*50行,对于数组为1M*50).现在我正在使用这个lm()功能,这需要很长时间(大约10分钟).
线性回归有更快的功能吗?
我正在创建一些地图,并希望删除绘图区域和面板边框之间的所有边距.
这是重现我的问题的最小例子
library(ggplot2)
library(grid)
df <- expand.grid(list(x = seq(1, 10), y = seq(1, 10), z = seq(1, 2)))
p <- ggplot(df) + geom_tile(aes(x, y)) + facet_wrap(~z)
p <- p + theme_minimal() + xlab('') + ylab('')
p <- p + theme(axis.text = element_blank(),
panel.grid = element_blank(),
axis.ticks = element_blank(),
panel.border = element_rect(colour = 'black', fill = 'transparent'),
panel.margin = unit(0, 'mm'))
p + ylim(2, 6) + xlim(2, 6)
Run Code Online (Sandbox Code Playgroud)
这是我的代码的结果.

我怎样才能删除上图中的所有白色区域?谢谢你的任何建议.
我创建了许多输入(参数)的Shiny应用程序.我们的用户希望返回相同的输入值.
我已经检查了这个示例(http://shiny.rstudio.com/articles/client-data.html),它显示通过会话$ clientData $ url_search获取url,但是无法从左侧的sidebarPanel输入生成url.例如:
http://localhost:8100/?obs=10
如何生成一个可以在Shiny中恢复相同值的URL?一个短的应该是最好的,因为有很多输入.
如果我的问题不明确,请告诉我.
谢谢你的任何建议.
我想根据块名列表设置块选项"eval".是否有一个函数来获取knitr中的块名称,例如chunk_name?
这是假函数名称"chunk_name"的最小示例.
---
output: html_document
---
```{r setup}
eval_chunks <- c('chunk1')
```
```{r chunk1, eval=chunk_name() %in% eval_chunks}
plot(cars)
```
```{r chunk2, eval=chunk_name() %in% eval_chunks}
plot(cars)
```
Run Code Online (Sandbox Code Playgroud)
谢谢你的任何建议.如果我的问题不明确,请告诉我.
关注这个问题:如何在ggplot2 boxplot中为每个组添加一些观察并使用组均值?,我想在ggplot boxplot中添加每组的观察次数.但我在aes映射中添加了一种颜色.
现有答案显示了如何在y轴上调整文本位置.我怎样才能调整x轴的文字位置?
这是重现我的问题的最小示例:
library(ggplot2)
give.n <- function(x){
return(c(y = median(x)*1.05, label = length(x)))
# experiment with the multiplier to find the perfect position
}
p <- ggplot(mtcars, aes(factor(vs), mpg, colour = factor(am))) +
geom_boxplot() +
stat_summary(fun.data = give.n, geom = "text", fun.y = median)
p
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何建议.