为什么`View`函数运行这么长时间?

时间:2014-11-14 18:31:54

标签: r rstudio

我喜欢在RStudio中使用View函数来查看我的数据是否已正确加载。 但是,当数据是"大"这个功能需要很长时间才能运行。

这是2MM行和9列data.frame

的时间
> system.time(View(bd_cadastral))
 user  system elapsed 
3.156   0.004   3.164 

在RStudio中,该函数只显示前1000行,所以如果我View(bd_cadastral[1:1000,]

> system.time(View(bd_cadastral[1:1000,]))
   user  system elapsed 
  0.068   0.000   0.089 

这不是同一时间吗?

1 个答案:

答案 0 :(得分:3)

如果你查看这个函数,你会发现它并没有直接获取它要显示的子集。它首先尝试将整个事物强制转换为数据框,并在可能转换的输入上使用lapplysapply。甚至在最后,它将整个变量传递给C程序,我假设它是子集。使用最初较小的对象,所有这些步骤的工作速度都会更快。

如果你问为什么它是这样构建的......如果我知道的话,那就好了。可能在c程序的限制发生变化的情况下。

旁注:Ctrl +单击某个功能会引导您进入其代码。对于这样的问题,它可能是有用的