小编Die*_*nne的帖子

knitr 中的科学记数法:如何改进排版

一直以来,knitr的一大特色就是智能四舍五入,让你少走很多sprintf/round/paste0弯路。

在一位客户抱怨我错误地给出小数之后,我注意到忘记可能以科学计数法打印的数字的 $$ 是非常危险的。但同一位客户抱怨说,我使用科学记数法的格式看起来很难看,因为类似乳胶的数学与主要字体不匹配。

科学计数法

按照@yihui 对已关闭问题的评论(https://github.com/yihui/knitr/issues/864),$$是必需的。

有人对此有智能解决方案吗?目前,我又回到过去用 sprintf 格式化所有内容。

---
output: 
  html_document:
    theme: cosmo
---

I use the cosmo theme because it shows the typographic problem more clearly.

```{r}
options(digits=2)
mean = c(2.31310934, 1.23456e-7)
std = c(0.31310934, 6.54321e-7)
```

digits is `r getOption("digits")`

The mean is `r mean[1]` with a standard deviation of `r std[1]`.

This looks good

The mean is `r mean[2]` with a standard deviation of `r std[2]`.

Note that the aboves looks like …
Run Code Online (Sandbox Code Playgroud)

r rstudio knitr r-markdown

6
推荐指数
1
解决办法
3737
查看次数

如何解决重定向循环

我有一个Web应用程序,以及一些使用Chrome作为首选浏览器的用户,当他们退出应用程序时会出现以下错误,并尝试重新登录.

"此网页有重定向循环".

我的Web应用程序使用表单身份验证,并将FormAuthenticationModule用户重定向回我的应用程序的登录页面,因此我无法使用此方法:

<customErrors mode="On" defaultRedirect="~/MyErrorPage.aspx" >

    <error statusCode="401" redirect="~/NoAccess.aspx"/>

</customErrors>
Run Code Online (Sandbox Code Playgroud)

相反,我已将以下内容添加到Page_Load我的事件中LoginPage.

if (Request.IsAuthenticated && !string.IsNullOrEmpty(Request.QueryString["ReturnUrl"]))
{
    Response.Redirect("~/NoAccess.aspx");
}
Run Code Online (Sandbox Code Playgroud)

但是,由于我添加了这种方法,用户似乎得到了"Redirect Loop"错误.

清除cookie后,一切似乎都很好,但问题确实再次发生.

我可以添加到我的代码中是否有永久性修复,或者我还能做些什么来防止这个问题发生?

.net c# asp.net

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

在SymPy中明智地使用常量

我在SymPy Live上尝试了以下内容

b,c,t = symbols('b c t')
g = 1/(1+exp(c*(b-t)))
integrate(g,t)
Run Code Online (Sandbox Code Playgroud)

结果是Integral(1/(exp(c*(b - t)) + 1), t)我理解为"无法处理".

但是,当我尝试

g = 1/(1+exp(0.1*(b-t)))
integrate(g,t)
Run Code Online (Sandbox Code Playgroud)

我明白了:

1.0*t + 10.0*log(exp(-0.1*b) + exp(-0.1*t))
Run Code Online (Sandbox Code Playgroud)

我可以轻松地替换0.110by c1/c.我做错了什么让SymPy在c上阻塞但处理0.1?

编辑

我刚才注意到了

g = 1/(1+exp(c*b-c*t)))
Run Code Online (Sandbox Code Playgroud)

可以通过集成来处理.

python integrate sympy

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

如何绘制绝对值和差异,包括置信区间

这次讨论的后续stackexchange我试图执行下列情节

卡明芬奇情节

Cumming,G.,&Finch,S.(2005).[眼睛推理:置信区间和如何读取数据图片] [5].美国心理学家,60(2),170-180.DOI:10.1037/0003-066X.60.2.170

我有些人不喜欢双轴,但我认为这是一个合理的用途.

在我的部分尝试之下,第二个轴仍然缺失.我正在寻找更优雅的替代品,欢迎智能变化.

library(lattice)
library(latticeExtra)
d = data.frame(what=c("A","B","Difference"), 
               mean=c(75,105,30),
               lower=c(50,80,-3),
               upper = c(100,130,63))

# Convert Differences to left scale
d1 = d
d1[d1$what=="Difference",-1] = d1[d1$what=="Difference",-1]+d1[d1=="A","mean"]

segplot(what~lower+upper,centers=mean,data=d1,horizontal=FALSE,draw.bands=FALSE,
        lwd=3,cex=3,ylim=c(0,NA),pch=c(16,16,17),
        panel = function (x,y,z,...){
          centers = list(...)$centers
          panel.segplot(x,y,z,...)
          panel.abline(h=centers[1:2],lty=3)
        } )
## How to add the right scale, close to the last bar?
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

graphics r ggplot2 lattice

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

适应pandoc.table列宽

下面的文档给出了以下HTML输出(仅需要HTML)

pandoc的列宽

第一列是宽的,使用pandoc.table()减少表的单元格宽度和字体大小对此没有帮助.

如何强制前两列浪费更少的空间?

---
output: html_document
---

```{r,echo=FALSE, results="asis"}
library(pander)
mytab = data.frame(col1=1:2, col2=2001:2002, col3="This is a lengthy test that should wrap, and wrap again, and again and again and again")
pandoc.table(mytab)
```
Run Code Online (Sandbox Code Playgroud)

r pandoc knitr r-markdown pander

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

rglwidget:无法替换以前的 3D 绘图

包中的例子rglwidget相当复杂;我shiny/rglwidget在下面创建了一个简单的示例。该图显示正常,但每次我切换复选框时,浏览器窗口中都会附加一个新图像。

如何替换/覆盖第一个图?

options(rgl.useNULL = TRUE)
library(shiny)
library(rglwidget)
library(rgl)

app = shinyApp(
  ui = bootstrapPage(
      checkboxInput("rescale", "Rescale"),
      rglwidgetOutput("rglPlot")
  ),
  server = function(input, output) {
    output$rglPlot <- renderRglwidget({
      try(rgl.close()) # added following @user2554330
      if (input$rescale) aspect3d(1,1,10) else aspect3d(1,1,1)
      # High level function following @user2554330: same effect
      # plot3d(rnorm(100), rnorm(100), rnorm(100,sd = 0.1), 
      #     col = rainbow(1000))
      spheres3d(rnorm(100), rnorm(100), rnorm(100,sd = 0.1), col = "red",
                radius = 0.1)
      axes3d()
      rglwidget()

    })
  })
runApp(app)
Run Code Online (Sandbox Code Playgroud)

会议信息:

R version 3.2.2 (2015-08-14)
Platform: …
Run Code Online (Sandbox Code Playgroud)

3d r rgl shiny

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

消除字符向量中的非唯一元素的歧义

给出非唯一患者姓名首字母的向量:

init = c("AA", "AB", "AB", "AB", "AC")
Run Code Online (Sandbox Code Playgroud)

寻找消歧如下:

init1 = c("AA", "AB01", "AB02", "AB03", "AC")
Run Code Online (Sandbox Code Playgroud)

即,唯一的首字母应该保持不变,非唯一的通过添加两位数字来消除歧义.

string r

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

bookdown:html_document2 中没有带有 pander 的表格编号

与 bookdown::html_document2 一起使用时,pander 不包括表格编号。我错过了一些选择吗?

---
title: "Pander Table Numbering"
output: bookdown::html_document2
---

# Chapter 1

```{r}
library(knitr)
library(pander)
# Table 1.1
kable(head(iris), caption = "Iris with kable")
# Another Table 1.1 (ok, same chunk = same table)
kable(head(mtcars), caption = "Mtcars kable")
```

```{r}
# No table number
pander(head(iris), caption = "Iris with pander")
```

```{r}
# Table 1.2
kable(head(mtcars), caption = "Mtcars kable")
```
Run Code Online (Sandbox Code Playgroud)

knitr pander bookdown

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

VirtualBox重新启动后,重新连接Vagrant中的同步文件夹

我创建了一个在Windows主机上运行的Ubuntu的puppet/vagrant/VirtualBox生成安装; 有关详细信息,请参阅https://bitbucket.org/dmenne/rstudio-shiny-server-on-ubuntu.这允许用户在Windows上运行RStudio和Shiny服务器.在Vagrantfile,我有

config.vm.synced_folder "shiny-server", "/srv/shiny-server", create:true

创建共享文件夹.当我用vagrant up或启动VM时vagrant reload,一切正常.

一个客户不想安装vagrant等,并要求在Windows上使用VirtualBox Manager启动/停止独立VM.但是,我关机后在此输入图像描述vagrant-booted VM Box,我的同步文件夹在VM重启时不会再次连接/挂载,即使它们在VirtualBox Manager的共享文件夹对话框中正确显示.

如何收缩包装Vagrant生成的VM,以便可以在没有Vagrant的情况下启动/停止它?

编辑2015年3月:

我仍然无法解决这个问题.当我强制自动挂载时,恢复media/sf_<folder>已同步,而不是所需的文件夹.如何强制VirtualBox Vagrantfile在重启后使用sync-template ?

如何在没有手动操作的情况下强制自动挂载流浪者.

windows ubuntu virtualbox puppet vagrant

4
推荐指数
1
解决办法
4603
查看次数

改变grob背景渐变的方向

令我感到惊讶的是,从颜色矢量创建的以下简单grob几乎按照要求工作.

在此输入图像描述

但是,我想从左到右,而不是从上到下制作渐变.

library(ggplot2) 
library(grid)
grad = colorRampPalette(c("red", "yellow"))(10)

ggplot(df, aes(x,y)) + 
  annotation_custom(rasterGrob(grad, 
                        width=unit(1,"npc"), 
                        height=unit(1,"npc"))) +
  scale_x_continuous(limits = c(0,1)) +
  scale_y_continuous(limits = c(0,1))
Run Code Online (Sandbox Code Playgroud)

r background-image ggplot2

4
推荐指数
1
解决办法
160
查看次数