小编Dav*_*ane的帖子

使用 knitr 和 RStudio 生成的 html 文件的默认位置变化很奇怪

创建一个包类型的新 RStudio 项目。创建一个小插图目录。

创建两个新的 R Markdown 模板。一个位于包的顶层(与 相同级别DESCRIPTION),一个位于小插图目录中。将两者都编织到 html。

生成的第一个 .Rmd 的 html 文件紧挨着 .Rmd,位于包的最高级别。这是我期望的行为。

对我来说,第二个 .Rmd 的结果 html 文件放置在一个临时目录中,例如:

/private/var/folders/mk/lh99bg295msg8myvcf5yczkc0000gn/T/RtmpDNga3D/preview-152834fe09ff.dir/Untitled.html
Run Code Online (Sandbox Code Playgroud)

而不是在小插图目录中。

  1. 这是预期的行为吗?任何指向适当文档的指针表示赞赏!

  2. 有没有简单的方法可以改变这种情况?我希望在 vignettes 目录(创建 hmtl 并将其保留在那里)中的行为与我在顶级目录中看到的行为相同。

我在 Mac 上。

r rstudio knitr

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

如何延迟 R 中函数参数的求值?

我想延迟 R 中函数参数的求值。示例:

my_func <- function(FUN){print(FUN); print(FUN)}
my_func(runif(1))
#> [1] 0.2833882
#> [1] 0.2833882
Run Code Online (Sandbox Code Playgroud)

由reprex 包(v0.2.1)于 2019-07-21 创建

这正如记录的那样工作,因为runif(1)只评估一次,其结果打印两次。

相反,我不想runif(1)在每个 print() 语句中对其进行求值。这将生成两个不同的随机数。

换句话说,我不希望 FUN “解决”——如果这个词正确的话——runif(1)直到我们进入一个print()声明。

r rlang

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

na.action的行为= na.exclude在lme4中使用lmer 1.0-5与lm和旧版本的lme4不一致

考虑一个简单的例子:

> library(lme4)
Loading required package: lattice
Loading required package: Matrix
> set.seed(1)
> df <- data.frame(x = c(rnorm(7), NA), y = rep(c("A", "B"), 4))
> length(fitted(lm(data = df, x ~ y, na.action = na.exclude)))
[1] 8
Run Code Online (Sandbox Code Playgroud)

这表现得如我所料.虽然第8次观察没有拟合值,但因为x是该行的NA,所以拟合值用NA"填充",使得它们与输入数据帧df中的行数相同,这是非常的便利.但是调用na.action = na.exclude在lme4中不再具有相同的效果.

> length(fitted(lmer(data = df, x ~ (1 | y), na.action = na.exclude)))
[1] 7
Run Code Online (Sandbox Code Playgroud)

我相当肯定,在旧版本的lme4中,长度为8,最后一个值为NA,就像lm()一样.

如何让lmer以与lm相同的方式运行---用NAs填充拟合向量(在适当的位置),使其与输入数据帧中的行数长度相同?

更一般地说,是否存在一些关于na.action和na.exclude正在做什么和/或打算在这里做什么的东西?

我的目标是在应用于lmer模型对象时,使fit()返回一个与行数相同的向量作为输入数据帧(并以相同的顺序!)和"适当"中的NA "地点.有一个简单的方法吗?

谢谢,

戴夫凯恩

更新:感谢Ben Bolker的工作!虽然predict()与fits()不同,但使用它确实解决了我的主要问题.

> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252 …
Run Code Online (Sandbox Code Playgroud)

r lmer

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

标签 统计

r ×3

knitr ×1

lmer ×1

rlang ×1

rstudio ×1