【问题标题】:Why data.table is not being printed sometimes in Console in RStudio?为什么有时不会在 RStudio 的控制台中打印 data.table?
【发布时间】:2021-05-27 12:31:18
【问题描述】:

我发现,当我尝试在控制台中打印 data.table 时(例如,通过键入 dt 并按 Enter 键),它通常不会打印任何内容。所以我必须输入两到三遍(比如dt;dt;dt),然后它就会被打印出来。

没什么大不了的,但我很好奇为什么会这样? 是我做错了什么,还是data.table 包中的小故障?

抱歉,我无法进行 reprex - 因为这种情况似乎不是确定性地发生的。但 它经常发生在对 data.table 的一系列羞辱之后(e.f. dt[, a:=b+c][, aa:=2*a])

【问题讨论】:

    标签: r data.table


    【解决方案1】:

    这是一个已知问题,可以通过在查询末尾添加额外的 [] 来解决,例如dt[, a:=b+c][, aa:=2*a][].

    来自data.table FAQ:

    为什么在使用:= 将结果打印到控制台后有时必须输入两次DT?

    这是让#869 工作的不幸缺点。如果在函数结束前没有DT[] 在函数内部使用:=,那么下次在提示符处键入DT 时,将不会打印任何内容。将打印重复的DT。为避免这种情况:在函数中的最后一个 := 之后包含一个 DT[]。如果这是不可能的(例如,它不是您可以更改的功能),则保证在提示符处打印print(DT) 和DT[]。和以前一样,在:= 查询的末尾添加一个额外的[] 是一个推荐的习惯用法来更新然后打印;例如>DT[,foo:=3L][].

    【讨论】:

      猜你喜欢
      • 2012-11-01
      • 2019-07-01
      • 2011-11-22
      • 2020-01-03
      • 2021-08-31
      • 1970-01-01
      • 2020-06-29
      • 2018-04-15
      • 2022-06-16
      相关资源
      最近更新 更多