【问题标题】:Unexpected behaviour when piping to ls() in R?在 R 中管道到 ls() 时出现意外行为?
【发布时间】:2019-08-07 16:08:47
【问题描述】:

这会返回环境中每隔一个对象的名称

test <- ls()
c(FALSE, TRUE) %>% { test[.] }

但这不会(它会产生一个奇怪的NAs 向量)

c(FALSE, TRUE) %>% { ls()[.] }

为什么第二种方法不起作用?

【问题讨论】:

    标签: r


    【解决方案1】:

    看起来ls() 在管道中调用时无法“找出”当前环境。当您在管道外部分配ls(),然后显式调用向量时,不会搜索环境。要解决这个问题,只需显式调用 ls() 中的环境即可。

    c(FALSE, TRUE) %>% ls(envir = .GlobalEnv)[.]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      • 2013-08-15
      • 1970-01-01
      • 2013-10-23
      • 1970-01-01
      • 2020-05-01
      • 2018-08-17
      相关资源
      最近更新 更多