小编Sté*_*ent的帖子

Python中的R函数rep()(复制列表/向量的元素)

R函数rep()复制向量的每个元素:

> rep(c("A","B"), times=2)
[1] "A" "B" "A" "B"
Run Code Online (Sandbox Code Playgroud)

这就像Python中的列表乘法:

>>> ["A","B"]*2
['A', 'B', 'A', 'B']
Run Code Online (Sandbox Code Playgroud)

但是使用rep()R函数,还可以指定向量的每个元素的重复次数:

> rep(c("A","B"), times=c(2,3))
[1] "A" "A" "B" "B" "B"
Run Code Online (Sandbox Code Playgroud)

Python中有这样的函数availbale吗?否则怎么定义呢?顺便说一下,我也对复制数组行的这种函数感兴趣.

python

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

包括带编织的交互式3D图形

使用knitr它可以rglRmarkdown源文件的html文档中嵌入3D图形:

```{r setup}
library(rgl)
knit_hooks$set(rgl = hook_rgl)
x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x,y)
```

```{r, rgl=TRUE}
plot3d(x, y, z, col=rainbow(1000))
```
Run Code Online (Sandbox Code Playgroud)

但是html文档中的3D图形不是交互式的.是否有可能获得交互式3D图形?包的writeWebGL()功能rgl创建一个带有交互式3D图形的html文件,有没有办法直接包含这个HTML代码与Rmarkdown?否则如何手动包含此HTML代码?

更新24/06/2013

这是一个今天不起作用的示例(3D图形不会出现在Chrome中):

html r rgl knitr r-markdown

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

在Python中使用R expand.grid()函数

是否有类似于R中的expand.grid()函数的Python函数?提前致谢.

(编辑)以下是此R功能的说明和示例.

Create a Data Frame from All Combinations of Factors

Description:

     Create a data frame from all combinations of the supplied vectors
     or factors.  

> x <- 1:3
> y <- 1:3
> expand.grid(x,y)
  Var1 Var2
1    1    1
2    2    1
3    3    1
4    1    2
5    2    2
6    3    2
7    1    3
8    2    3
9    3    3
Run Code Online (Sandbox Code Playgroud)

(EDIT2)下面是rpy包的示例.我想得到相同的输出对象但不使用R:

>>> from rpy import *
>>> a = [1,2,3]
>>> b = [5,7,9]
>>> r.assign("a",a) …
Run Code Online (Sandbox Code Playgroud)

python r

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

如何使用Rmarkdown使用反引号显示逐字内联r代码?

通过将Markdown中的反引号加倍,可以很容易地呈现代码样式中的一些文本,包括反引号,例如:`r 2+2`.但是如何用RMarkdown做到这一点?通过我们可以显示的相同方式`t 2+2`,但替换tr执行R代码2+2.

我到目前为止找到的唯一方法是:

<p><code  class="r">`</code><code class="r">r 2+2`</code></p>
Run Code Online (Sandbox Code Playgroud)

不太方便.也许我应该为这样做更方便地定义一个新的CSS?

markdown r knitr r-markdown

30
推荐指数
4
解决办法
8440
查看次数

可变数量的嵌套for循环

编辑:对不起,但我忘了提到我需要计数器变量的值.所以制作一个循环并不是我害怕的解决方案.

我不确定这是否可行,但我想做以下事情.对于函数,传递数字数组.每个数字都是for循环的上限,例如,如果数组是[2, 3, 5],则应执行以下代码:

for(var a = 0; a < 2; a++) {
     for(var b = 0; b < 3; b++) {
          for(var c = 0; c < 5; c++) {
                doSomething([a, b, c]);
          }
     }
}
Run Code Online (Sandbox Code Playgroud)

因此,嵌套for循环的数量等于数组的长度.有没有办法让这项工作?我正在考虑创建一段代码,将每个for循环添加到一个字符串,然后通过它进行评估eval.然而,我已经阅读过,这eval不应该是一个人的首选,因为它也会产生危险的结果.

这里适合哪种技术?

javascript combinatorics nested-loops

23
推荐指数
2
解决办法
7512
查看次数

摆脱kable中的\ addlinespace

在knitr/Sweave报告中,使用该选项的kable功能会添加每五行:knitrbooktabs=TRUE\addlinespace

P1 & A & 10 & 11.016181 & 110.16181 & 44.95101 & 269.9745\\
P1 & B & 10 & 8.592386 & 85.92386 & 35.06083 & 210.5743\\
P1 & A & 100 & 120.610305 & 120.61031 & 58.61274 & 248.1857\\
P1 & B & 100 & 94.990728 & 94.99073 & 46.16245 & 195.4671\\
P2 & A & 1000 & 698.097191 & 69.80972 & 37.34843 & 130.4846\\
\addlinespace
P2 & B & 1000 & 837.649249 & …
Run Code Online (Sandbox Code Playgroud)

latex r sweave knitr

23
推荐指数
1
解决办法
3254
查看次数

图形大小与从markdown到docx的pandoc转换

我在Rstudio中用Rmarkdown键入报告.当html用knitr 转换它时,还有一个markdown由knitr生成的文件.我转换此文件pandoc如下:

pandoc -f markdown -t docx input.md -o output.docx
Run Code Online (Sandbox Code Playgroud)

output.docx文件很好,除了一个问题:数字的大小被改变,我需要手动调整Word中的数字.有没有什么可做的,也许是一个选项pandoc,以获得正确的数字大小?

markdown image docx pandoc knitr

19
推荐指数
1
解决办法
9520
查看次数

增加ghci的"宽度"

当GHCI中的输出线太长时,它会被破坏:

> :i bar
bar :: Lens' (Foo a0) Int   -- Defined at NewType_makeLenses.hs:7:1
> :i baz
baz :: Lens (Foo a0) (Foo a1) a0 a1
    -- Defined at NewType_makeLenses.hs:7:1
Run Code Online (Sandbox Code Playgroud)

有没有办法设置线的最大长度?

haskell ghci

16
推荐指数
1
解决办法
186
查看次数

knitr的html输出中的标题

编织以下Rmd文件时

```{r, fig.cap="mycaption"}
plot(0,0,axes=FALSE,xlab=NA,ylab=NA)

```
Run Code Online (Sandbox Code Playgroud)

使用RStudio的"Knit HTML"按钮,然后标题不会出现在html输出文件中.实际上对应于该图的html源代码是:

<p><img src="data:image/png;base64,..." alt="mycaption"/></p> 
Run Code Online (Sandbox Code Playgroud)

要查看标题,它应该是例如:

<p><img src="data:image/png;base64,..." alt="mycaption"/><p class="caption">mycaption</p></p> 
Run Code Online (Sandbox Code Playgroud)

如何轻松获得带有可见字幕的html输出?

html markdown r knitr r-markdown

13
推荐指数
1
解决办法
2624
查看次数

从字符串中提取十进制数

我有一个字符串,如"3.1 ml""abc 3.1 xywazw"

我想"3.1"从这个字符串中提取.我在stackoverflow上发现了很多关于从字符串中提取数字的问题,但没有解决方案适用于十进制数字的情况.

regex string r

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