出于一些奇怪的原因,当我使用View()函数或单击环境窗格中的数据框时,RStudio会向我显示data.frame的所有列。 我在三周前安装了新版本的R(因为我有一台新的Windows10笔记本电脑),从那时起我就遇到了这个问题。
这真令人讨厌,因为当显示超过100列时R变得非常慢。 随机的代码示例
{{1}}
在过去的好时光中,只显示了前100列......
有关如何将此更改恢复正常的任何想法?
答案 0 :(得分:0)
您可以查看选定的列列表,如下所示:
df <- data.frame(a = c(1,2), b = c(1,2), c = c(1,2))
View(df[, c("a","b") ])
如果这仍需要很长时间才能渲染,请查看您是否拥有最新的RStudio版本。最近有一个错误,RStudio读取Windows网络驱动器的速度很慢,它会影响View()函数。它显然是在最新的RStudio版本中修复的。
顺便说一句,我很少再使用View()了。我现在在RMarkdown笔记本电脑上工作,该笔记本电脑以分页且易于阅读的格式自动呈现数据集的快照,可以容纳大型数据集而没有任何问题。而且我还没有遇到任何延迟问题。
答案 1 :(得分:0)
我对大于300000行的长数据帧有此问题。如果我View()
df,RStudio会话将冻结。不幸的是,我经常使用View()
来检查结果,但是我常常忘记确保df不会太大。为了防止这种情况,我编写了上面评论中推荐的功能。我花了一些时间弄清楚如何使名称像View()
一样显示,所以我想与大家分享。
RStudioView <- View
View <- function(x) {
name <- deparse(substitute(x))
if ("data.frame" %in% class(x)) {
RStudioView(x[1:1000,], name)
} else {
RStudioView(x)
}
}
基于找到的功能here。您可以更改它以限制列而不是行,并设置最适合您的截止值。