小编Pie*_*rre的帖子

不在apply中传递所有可选参数

我在使用apply函数时遇到一些问题,在不需要时将参数传递给函数.我知道apply不知道如何处理可选参数,只是在函数上传递它们.

但无论如何,这就是我想做的事情:

首先,我想指定一个我想要使用的函数列表.

functions <- list(length, sum)
Run Code Online (Sandbox Code Playgroud)

然后我想创建一个在数据集上应用这些指定函数的函数.

myFunc <- function(data, functions) {
  for (i in 1:length(functions)) print(apply(X=data, MARGIN=2, FUN=functions[[i]]))
}
Run Code Online (Sandbox Code Playgroud)

这很好用.

data <- cbind(rnorm(100), rnorm(100))
myFunc(data, functions)

[1] 100 100
[1] -0.5758939 -5.1311173
Run Code Online (Sandbox Code Playgroud)

但我还想为一些函数使用额外的参数,例如

power <- function(x, p) x^p 
Run Code Online (Sandbox Code Playgroud)

哪个不能按我的意愿工作.如果我修改myFunc为:

myFunc <- function(data, functions, ...) {
  for (i in 1:length(functions)) print(apply(X=data, MARGIN=2, FUN=functions[[i]], ...))
}
Run Code Online (Sandbox Code Playgroud)

functions

functions <- list(length, sum, power)
Run Code Online (Sandbox Code Playgroud)

然后尝试我得到的功能

myFunc(data, functions, p=2)

Error in FUN(newX[, i], ...) : 
  2 arguments passed to 'length' …
Run Code Online (Sandbox Code Playgroud)

r function

9
推荐指数
1
解决办法
144
查看次数

facet_wrap中的多个标题(ggplot2)

我正在尝试使用facet_wrap和ggplot2为绘图添加多个标题.假设你有两年的季度数据,并想要将季度数据与两个主要标题进行图形比较; 2014年和2015年,以及各季度的标题.

我走到这一步:

data <- rnorm(10)

A1 <- data.frame("Y"=data, "X"=1:10, "Q"=1, "year"=2014)
A2 <- data.frame("Y"=data, "X"=1:10, "Q"=2, "year"=2014)
A3 <- data.frame("Y"=data, "X"=1:10, "Q"=3, "year"=2014)
A4 <- data.frame("Y"=data, "X"=1:10, "Q"=4, "year"=2014)

N1 <- data.frame("Y"=data, "X"=1:10, "Q"=1, "year"=2015)
N2 <- data.frame("Y"=data, "X"=1:10, "Q"=2, "year"=2015)
N3 <- data.frame("Y"=data, "X"=1:10, "Q"=3, "year"=2015)
N4 <- data.frame("Y"=data, "X"=1:10, "Q"=4, "year"=2015)

A <- rbind(A1, A2, A3, A4)
N <- rbind(N1, N2, N3, N4)
tmp <- data.frame(rbind(A, N))

ggplot(data=tmp, aes(x=X, y=Y)) + geom_line() + facet_wrap(~year + …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

9
推荐指数
2
解决办法
1060
查看次数

R markdown - flexdashboard - 网格布局 &amp; 滚动 &amp; 标签集

我试图弄清楚如何结合网格布局、行标签集和在 Markdown / flexdashboard 中滚动的能力。

在此处输入图片说明

我想要实现的是 Tab 3 应该在 Tab 1 & 2 的右侧,并且能够向下滚动到 Tab 4-6(其中 Tab 6 应该在 4/5 的右侧)。像这样的东西:

在此处输入图片说明

这可能吗?

---
title: "Test"
output: 
  flexdashboard::flex_dashboard:
    orientation: row
    vertical_layout: scroll

---

```{r setup, include=FALSE}
library(flexdashboard)
```


A {data-orientation=rows}
===================================================

Row {data-width=500 data-height=400 .tabset}
-----------------------------------------------------------------------

### Tab 1 {data-height=400 data-width=500}

```{r}
plot(rnorm(10))
```

### Tab 2 {data-height=400 data-width=500}

```{r}
plot(rnorm(10))
```

Column 
-----------------------------------------------------------------------

### Tab 3 {data-height=400 data-width=300}
Some text


Row {data-width=500 data-height=400 .tabset}
-----------------------------------------------------------------------

### Tab 4 {data-height=400 data-width=500} …
Run Code Online (Sandbox Code Playgroud)

r r-markdown flexdashboard

5
推荐指数
1
解决办法
3475
查看次数

标签 统计

r ×3

flexdashboard ×1

function ×1

ggplot2 ×1

r-markdown ×1