对 dplyr 中的许多列进行变异以获得 log(1+x)

use*_*015 5 r dplyr

我想做类似的事情:

mutate_each(myDF, funs(log(1+x)), myvar1:myvar10
Run Code Online (Sandbox Code Playgroud)

基本上,对于 myDF 中 myvar1 到 myvar10 之间的每一列,我想要取 log(1 +x)。但是,我不确定如何将其写入funs. 有什么帮助吗?

Dav*_*son 5

放入log(1 + .)里面funs,像这样:

mutate_each(myDF, funs(log(1 + .)), myvar1:myvar10)
Run Code Online (Sandbox Code Playgroud)

例如:

mutate_each(mtcars, funs(log(1 + .)), mpg:wt)
Run Code Online (Sandbox Code Playgroud)

  • 或者你可以使用 `log1p()` ;) (3认同)
  • @user1357015 是的,那仍然有效。但是,您不需要第一个句点来输入第一个参数。你可以只做 `myDF %>% mutate_each(funs(log(1 + .)), myvar1:myvar10)` (2认同)