我一直在向数据框添加列,并使用View()来检查它是否符合我的预期.我有重复的代码行:
x$p <- 3 * x$a
x$q <- sqrt(x$b + x$c)
View(x)
Run Code Online (Sandbox Code Playgroud)
这个工作正常,直到列数超过100(有47,000行).当我添加另外两列时,dim(x)显示102列,名称(x)显示102个名称,summary(x)显示所有预期列的摘要.但是,View(x)仅显示前100列,并且不显示最后添加的两列.
如果我尝试查看(x [, - (1:10)]),则会显示最近添加的列.
我在View文档中没有看到任何关于列数限制的提及.任何人都可以解释这里发生了什么?
gun*_*ica 18
(更新)
您可以View()在其中一个象限或单独的记事本窗口中打开.它在象限中打开,我的源代码在工作时显示在我的机器上,在家里的机器上的另一个窗口中显示.在后一种情况下,它显示> 1k行&> 100列(我刚检查过).
我不知道你怎么能永久改变这个,IIRC当我更新RStudio并View()第一次运行时,弹出一个窗口并要求我选择我想用来显示文件的程序.在我选择的一个案例中RStudio,在另一个案例中,我选择了notepad.在这两种情况下,选择'从现在开始默认使用此程序'单选按钮; 从那以后我从未见过这个窗口.如果您可以切换到使用记事本显示,您应该能够摆脱这个问题. 但是,如果没有永久性更改,您可以View()使用代码在单独的窗口中显示数据utils::View().这种方法可以在我的机器上工作.这是它的样子:

请注意,我在Windows 7计算机上运行RStudio版本0.97.248.
这是我家用机器上的样子,它会自动出现在一个新窗口中:

Chr*_*ert 11
我在一个封闭的 RStudio Github 问题中找到了一个适合我的解决方案。您可以使用以下命令更改显示的最大列数(例如 1000):
rstudioapi::writeRStudioPreference("data_viewer_max_columns", 1000L)
Run Code Online (Sandbox Code Playgroud)
您应该只能运行一次,然后它将作为每个后续 R 会话中的新默认值保存到您的设置文件中。在我的 Linux 系统下,这些首选项存储在 ~/.config/rstudio/rstudio-prefs.json 中。上述命令将添加的相关行是:
"data_viewer_max_columns":1000
Run Code Online (Sandbox Code Playgroud)
我也遇到了这个问题.正如上面的gung所建议的那样,该utils::View()函数作为浏览数据框中所有可用列的变通方法很有用,而Rstudio在使用该View()函数时仍默认为只有前100个可用列.
解决方法对于标识用于从现有数据框创建子集的列名非常有用.但是,它不提供RStudio View()函数允许的快速列枚举.距离2013年的原始帖子已经过去了几年,但在今天的2017年,RStudio环境中的这种限制似乎仍然有效.