一直以来,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) 我有一个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后,一切似乎都很好,但问题确实再次发生.
我可以添加到我的代码中是否有永久性修复,或者我还能做些什么来防止这个问题发生?
我在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.1和10by c和1/c.我做错了什么让SymPy在c上阻塞但处理0.1?
我刚才注意到了
g = 1/(1+exp(c*b-c*t)))
Run Code Online (Sandbox Code Playgroud)
可以通过集成来处理.
这次讨论的后续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)

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

第一列是宽的,使用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) 包中的例子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) 给出非唯一患者姓名首字母的向量:
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)
即,唯一的首字母应该保持不变,非唯一的通过添加两位数字来消除歧义.
与 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) 我创建了一个在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 ?
如何在没有手动操作的情况下强制自动挂载流浪者.
令我感到惊讶的是,从颜色矢量创建的以下简单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)