考虑以下简单的Dockerfile:
FROM debian:testing
RUN adduser --disabled-password --gecos '' docker
RUN adduser --disabled-password --gecos '' bob
Run Code Online (Sandbox Code Playgroud)
在一个没有别的工作目录.构建docker镜像:
docker build -t test .
Run Code Online (Sandbox Code Playgroud)
然后在容器上运行bash脚本,将工作目录链接到bob主目录中的新子目录:
docker run --rm -it -v $(pwd):/home/bob/subdir test
Run Code Online (Sandbox Code Playgroud)
谁拥有subdir容器上的内容?在容器上,运行:
cd /home/bob/subdir
ls -l
Run Code Online (Sandbox Code Playgroud)
广告我们看到:
-rw-rw-r-- 1 docker docker 120 Oct 22 03:47 Dockerfile
Run Code Online (Sandbox Code Playgroud)
圣烟!docker拥有内容!回到容器外的主机上,我们看到我们的原始用户仍然拥有Dockerfile.让我们尝试修复bob主目录的所有权.在容器上,运行:
chown -R bob:bob /home/bob
ls -l
Run Code Online (Sandbox Code Playgroud)
我们看到:
-rw-rw-r-- 1 bob bob 120 Oct 22 03:47 Dockerfile
Run Code Online (Sandbox Code Playgroud)
可是等等!在容器外面,我们现在运行ls -l
-rw-rw-r-- 1 1001 1001 120 Oct 21 20:47 …Run Code Online (Sandbox Code Playgroud) 考虑下面的示例图.我想让传说中每个符号周围的小盒子消失.我是怎么做到的?
ggplot(mtcars, aes(wt, mpg, shape=factor(cyl))) + geom_point() + theme_bw()
Run Code Online (Sandbox Code Playgroud)

将逐项列表添加到roxygen2的适当语法是什么,例如,在@details部分?我可以创建一个乳胶列表环境吗?
似乎简单地忽略了换行符,即
#' @details text describing parameter inputs in more detail
#'
#' parameter 1: stuff
#'
#' parameter 2: stuff
Run Code Online (Sandbox Code Playgroud)
谢谢!
我已经开始与github上的几个开发人员合作开展一系列项目,我们最近在github上创建了一个拥有自己的"组织"类型帐户的组织.我看到我可以使用通常的fork菜单将我的协作者的存储库分配到组织帐户,但当然我不能分叉我自己的帐户.
将现有存储库导入组织帐户的预期工作流程是什么?(我认为我可以分叉由其他成员托管的项目,但不是我自己的?)
我使用的许多R包都涉及通过print()调用命令而不是message()或warning()命令给出所有消息和警告的函数.我希望能够使这些功能进度指示器等静音,但标准的supressWarnings()或supressMessages不会这样做.有没有办法可以抑制打印?
例如:
silly_developer_function <- function(x){
print("Thanks for using my function!!")
if(is(x, "numeric"))
print("warning, x should be a character")
x
}
Run Code Online (Sandbox Code Playgroud)
我想有一个简单的函数suppressPrint(),我可以包含对此函数的调用,该函数将抑制警告和无用的消息(但仍然打印返回值).
该dplyr::summarize()函数可以对数据应用任意函数,但似乎函数必须返回标量值.我很好奇是否有合理的方法来处理返回向量值的函数而不需要多次调用该函数.
这是一个有点愚蠢的最小例子.考虑一个提供多个值的函数,例如:
f <- function(x,y){
coef(lm(x ~ y, data.frame(x=x,y=y)))
}
Run Code Online (Sandbox Code Playgroud)
和看起来像这样的数据:
df <- data.frame(group=c('A','A','A','A','B','B','B','B','C','C','C','C'), x=rnorm(12,1,1), y=rnorm(12,1,1))
Run Code Online (Sandbox Code Playgroud)
我想做点什么:
df %>%
group_by(group) %>%
summarise(f(x,y))
Run Code Online (Sandbox Code Playgroud)
并返回一个表,该表为每个返回值添加了2列,而不是通常的1列.相反,这个错误:Expecting single value
当然,我们可以通过多次dlpyr::summarise()给出函数参数来获取多个值:
f1 <- function(x,y) coef(lm(x ~ y, data.frame(x=x,y=y)))[[1]]
f2 <- function(x,y) coef(lm(x ~ y, data.frame(x=x,y=y)))[[2]]
df %>%
group_by(group) %>%
summarise(a = f1(x,y), b = f2(x,y))
Run Code Online (Sandbox Code Playgroud)
这给出了所需的输出:
group a b
1 A 1.7957245 -0.339992915
2 B 0.5283379 -0.004325209
3 C 1.0797647 -0.074393457
Run Code Online (Sandbox Code Playgroud)
但以这种方式编码是荒谬粗暴和丑陋的.
data.table 更简洁地处理这个案子:
dt <- as.data.table(df)
dt[, f(x,y), by="group"] …Run Code Online (Sandbox Code Playgroud) 我正在考虑将我的网站从Wordpress迁移到Jekyll,并希望保持对网站进行全文搜索的能力.Wordpress搜索快速,可靠,格式精美,与主题相匹配,我还没有找到合适的替代品.
有一个使用indextank的插件解决方案,但我不想通过商业API将我的搜索与用户排名搜索项目联系起来,我只想要与Wordpress搜索相媲美的东西.
我也查看了谷歌Ajax api,但我不想在网站上有一个浮动的ajax搜索框.
总是谷歌搜索该网站,但我没有发现这是可靠的.(自从我几年前搬到wordpress以来,我没有尝试过这个,所以也许我错了).
由于所有帖子都以纯文本形式提供,因此在构建网站时似乎不应该难以创建用于搜索它们的索引,但我还没有找到一个好的解决方案.有什么建议或例子吗?
基本上我想使用ggplot在R中创建下面显示的第一个图,但两个对象在同一个图上(没有构面包装).
考虑一个模仿我的数据结构的最小示例:
library(reshape2)
library(ggplot2)
x <- seq(1, 5, length = 100)
y <- replicate(10, sin(2 * pi * x) + rnorm(100, 0, 0.3), "list")
z <- replicate(10, sin(2 * pi * x) + rnorm(100, 5, 0.3), "list")
y <- melt(y)
z <- melt(z)
df <- data.frame(x = y$Var1, rep = y$Var2, y = y$value, z = z$value)
dat <- melt(df, id = c("x", "rep"))
Run Code Online (Sandbox Code Playgroud)
我可以用它来绘制它
ggplot(dat) + geom_line(aes(x, value, group = rep, color = variable),
alpha = 0.3) + facet_wrap(~variable) …Run Code Online (Sandbox Code Playgroud)