小编Ban*_*you的帖子

如何使用dplyr选择每组中具有最大值的行?

我想用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)

r plyr greatest-n-per-group dplyr

98
推荐指数
4
解决办法
9万
查看次数

如何增加ggplot2图例中点的大小?

我在一个图中有数千个点并设置"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)

图例中点的大小

r ggplot2

61
推荐指数
1
解决办法
3万
查看次数

在Shiny应用程序中包含一个javascript文件

我需要在我的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文件?

谢谢你的任何建议.

javascript r shiny

34
推荐指数
3
解决办法
3万
查看次数

如何在knitr的pdf输出中用数字标题保持数字位置?

我正在使用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文件总是htbpfigure环境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)

r knitr r-markdown

31
推荐指数
7
解决办法
4万
查看次数

如何在dplyr中使用或/和子集data.frame

我想用/或和的组合对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包中使用过滤功能转换它们?谢谢你的任何建议.

r dplyr

20
推荐指数
2
解决办法
4万
查看次数

是否有更快的lm功能

我想获得适合1M个独立数据集的线性回归斜率(对于data.frame为1M*50行,对于数组为1M*50).现在我正在使用这个lm()功能,这需要很长时间(大约10分钟).

线性回归有更快的功能吗?

r lm

20
推荐指数
4
解决办法
7041
查看次数

如何在ggplot2中删除绘图区域和面板之间的边距?

我正在创建一些地图,并希望删除绘图区域和面板边框之间的所有边距.

这是重现我的问题的最小例子

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)

这是我的代码的结果.

在此输入图像描述

我怎样才能删除上图中的所有白色区域?谢谢你的任何建议.

r ggplot2

17
推荐指数
1
解决办法
5844
查看次数

如何生成一个URL来恢复Shiny中的用户输入值

我创建了许多输入(参数)的Shiny应用程序.我们的用户希望返回相同的输入值.

我已经检查了这个示例(http://shiny.rstudio.com/articles/client-data.html),它显示通过会话$ clientData $ url_search获取url,但是无法从左侧的sidebarPanel输入生成url.例如:

http://localhost:8100/?obs=10

如何生成一个可以在Shiny中恢复相同值的URL?一个短的应该是最好的,因为有很多输入.

如果我的问题不明确,请告诉我.

谢谢你的任何建议.

r shiny

15
推荐指数
1
解决办法
4337
查看次数

如何在knitr中获得块名?

我想根据块名列表设置块选项"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)

谢谢你的任何建议.如果我的问题不明确,请告诉我.

r knitr r-markdown

14
推荐指数
1
解决办法
8461
查看次数

在ggplot2 boxplot中添加每组的观察数

关注这个问题:如何在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)

在此输入图像描述

谢谢你的任何建议.

r ggplot2

12
推荐指数
1
解决办法
1万
查看次数

标签 统计

r ×10

ggplot2 ×3

dplyr ×2

knitr ×2

r-markdown ×2

shiny ×2

greatest-n-per-group ×1

javascript ×1

lm ×1

plyr ×1