该withProgress()函数可以生成一个消息框,指示闪亮的应用程序正在运行.但是消息是在浏览器的右上方,文本大小很小,这使得消息不那么引人注目.所以我想知道有什么方法可以改变这个盒子的风格,这样消息可以更具表现力.
我很久以前就在Coursera的约翰霍普金斯MOOC R编程中学到了这种方法.我们的想法是返回父函数范围中定义的函数列表.例如:
newString <- function(s) {
l <- nchar(s)
return(list(
get = function() return(s),
len = function() return(l),
concate = function(cat) {
s <<- paste0(s, cat)
l <<- nchar(s)
},
find = function(pattern) return(grepl(pattern, s)),
substitute = function(pattern, sub) {
s <<- gsub(pattern, sub, s)
l <<- nchar(s)
}
))
}
Run Code Online (Sandbox Code Playgroud)
此函数返回可以操作项"s"的函数/方法列表.我可以"新"这个"对象"调用父函数:
my <- newString("hellow")
Run Code Online (Sandbox Code Playgroud)
并使用$看起来像OOP 的"方法" .
my$get()
# [1] "hellow"
my$len()
# [1] 6
my$substitute("w$", "")
my$get()
# [1] "hello"
my$len()
# [1] 5
my$concate(", world") …Run Code Online (Sandbox Code Playgroud) 假设我想绘制一系列不同大小的点的图,使用xyplot如下方法:
> xyplot(1:6 ~ 1:6, cex = 1:6)
Run Code Online (Sandbox Code Playgroud)
情节就像

但是,当我将组添加到图中时,每个组内点的大小是均匀的。
> g <- c('A', 'A', 'B', 'B', 'C', 'C')
> xyplot(1:6 ~ 1:6, groups = g, cex = 1:6)
Run Code Online (Sandbox Code Playgroud)

另外,如果我使用|分组,则在每个方面,点的大小再次从第一个值开始cex
> xyplot(1:6 ~ 1:6 | g, cex = 1:6)
Run Code Online (Sandbox Code Playgroud)

那么有什么解决方案可以使我cex独立于groups和|,例如在groups示例中我希望看到像第一个图那样仅具有色差的图。
我已经使用R和闪亮服务器建立了自己的服务器,并且已经在其上放置了一些应用程序.
但是,如果我未来的计划是使用闪亮来构建整个站点,那么所有应用程序都有一个类似于:3838in 的端口号blahblah.com:3838/app_name,看起来不太好.
那么,如果可以更改某些配置,我可以:3838从地址中删除?
我试过测量这两种取平方根的速度:
> system.time(expr = replicate(10000, 1:10000 ** (1/2)))
## user system elapsed
## 0.027 0.001 0.028
> system.time(expr = replicate(10000, sqrt(1:10000)))
## user system elapsed
## 3.722 0.665 4.494
Run Code Online (Sandbox Code Playgroud)
如果sqrt()功能无法与之竞争** 0.5,为什么我们需要这样的功能呢?
(系统是OS X Yusemite,R版本是3.1.2)