【问题标题】:How to silence "New names" message from `map_dfc()`?如何使来自`map_dfc()`的“新名称”消息静音?
【发布时间】:2021-03-12 09:16:21
【问题描述】:

假设,我有一个返回data.frame 的函数,就像这个:

foo<-function(sd){
  data.frame(
    first=rnorm(2,0,sd),
    second=rnorm(2,0,sd/2)
  )
}

现在,当我使用purrr:map_dfc()data.frames 产生的foo 创建单个data.frame 时,我得到:

map_dfc(1:2, foo)

New names:
* first -> first...1
* second -> second...2
* first -> first...3
* second -> second...4
  first...1 second...2 first...3 second...4
1 0,6905908  0,1499820 -0,685636  1,0323695
2 1,7293986 -0,4653913 -2,049278 -0,2364952

这很好,但是有没有办法让控制台中出现的“新名称”消息静音?

编辑 我知道suppressMessages(),但它会屏蔽所有可能的消息,而我希望屏蔽“新名称”消息。

【问题讨论】:

  • suppressMessages(map_dfc(1:2, foo))
  • 我忘了,关于suppressMessages。我的意思是有没有办法只使“新名称”消息静音,而不是所有可能的消息。我编辑了我的问题。

标签: r tidyverse purrr


【解决方案1】:

您可以首先删除收到这些消息的原因。

foo <- function(sd, name){
  tibble::tibble(
    'first_{{name}}' := rnorm(2,0,sd),
    'second_{{name}}' := rnorm(2,0,sd/2)
  )
}

purrr::imap_dfc(1:2, foo)

#  first_1L second_1L first_2L second_2L
#     <dbl>     <dbl>    <dbl>     <dbl>
#1    0.683    -1.25    -2.03      0.801
#2   -1.17      0.530   -0.170    -0.148

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    • 2011-11-13
    • 2014-10-31
    • 2013-10-15
    相关资源
    最近更新 更多