小编Sim*_*son的帖子

`lm`是否因为`predict`以外的原因返回`model`

lmmodel = TRUE在默认情况下,这意味着用于学习的整个数据集被复制,并与安装的对象返回.这是由使用predict但创建内存开销(下面的示例).

我想知道,复制的数据集是用于除了以外的任何原因predict吗?

回答并不是必不可少的,但我也想知道存储数据的模型不是出于其他原因predict.

object.size(lm(mpg ~ ., mtcars))
#> 45768 bytes
object.size(lm(mpg ~ ., mtcars, model = FALSE))
#> 28152 bytes
Run Code Online (Sandbox Code Playgroud)

更大的数据集=更大的开销.

动机

为了分享我的动机,twidlr软件包强制用户在使用时提供数据predict.如果这使得在学习不必要时复制数据集,通过默认来节省内存似乎是合理的model = FALSE.我在这里开了一个相关的问题.

次要动机 - 您可以轻松地适应许多模型,例如lm使用pipelearner,但每次复制数据会产生巨大的开销.因此,找到减少内存需求的方法将非常方便!

memory r lm

7
推荐指数
1
解决办法
101
查看次数

为R包中的多个参数继承Roxygen2文档

我写的R包,要继承两个参数(比如文档xy)从旧的功能(比如old())一个新的功能,new().扭曲是这两个参数共享相同的参数描述.也就是说,在old()函数中,它们被记录在一行中并用逗号分隔,如下所示:

#' @param x,y Two arguments with the same description

我使用以下方法new()来继承这些参数:

#' @inheritParams old

但是,当我构建包时,new()列表的文档x却没有y.

有没有办法继承像这样的多个参数?

documentation r roxygen2

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

在R中加入dplyr时嵌套重复变量

我参加的是有重复的,我列的数据帧(tibbles)不要想加入.下面的示例是我通常会做的(加入i,但不是ab):

library(dplyr)

df1 <- tibble(i = letters[1:3], a = 1:3,   b = 4:6)
df2 <- tibble(i = letters[1:3], a = 11:13, b = 14:16)

d <- full_join(df1, df2, by ="i")
d
#> # A tibble: 3 × 5
#>       i   a.x   b.x   a.y   b.y
#>   <chr> <int> <int> <int> <int>
#> 1     a     1     4    11    14
#> 2     b     2     5    12    15
#> 3     c     3     6    13    16
Run Code Online (Sandbox Code Playgroud)

我希望这些重复的变量作为嵌套列表返回,例如下面创建的输出: …

merge join r dplyr tidyr

3
推荐指数
1
解决办法
744
查看次数

标签 统计

r ×3

documentation ×1

dplyr ×1

join ×1

lm ×1

memory ×1

merge ×1

roxygen2 ×1

tidyr ×1