如何避免警告 r:reached getoption(“max.print”)


您在 R 中可能遇到的警告消息是:

 [ reached getOption("max.print") -- omitted 502 rows ]

当您尝试在 RStudio 中一次打印超过 1000 个值时,会出现此消息。

默认情况下,RStudio 只允许您一次打印 1000 个值。但是,您可以使用以下方法之一轻松增加此限制:

方法 1:将限制增加到特定值

 #increase print limit to 2000 values
options( max.print = 2000 )

方法二:将限制提高到机器允许的最大金额

 #increase print limit to max allowed by your machine
options(max. print = .Machine$integer. max )

以下示例展示了如何在实践中使用这些方法。

示例:增加 R 中的打印限制

假设我们在 R 中创建一个包含 1002 行 2 列的数据框:

 #make this example reproducible
set. seeds (0)

#create data frame
df <- data. frame (x=runif(1002),
                 y=runif(1002))

#view head of data frame
head(df)

          xy
1 0.8966972 0.68486090
2 0.2655087 0.38328339
3 0.3721239 0.95498800
4 0.5728534 0.11835658
5 0.9082078 0.03910006
6 0.2016819 0.50450503

接下来,假设我们尝试在 RStudio 中打印整个数据框:

 #attempt to print entire data frame
df

我们只能显示前 500 行(即前 1000 个值),并且收到一条警告,指出 502 行已被省略。

但是,如果我们使用max.print函数,那么我们可以将打印限制增加到 2500 个值:

 #increase print limit to 2500 values
options( max.print = 2500 )

#attempt to print entire data frame again
df

这次我们能够打印数据帧的全部 1002 行,并且由于我们增加了打印限制,因此我们没有收到任何警告消息。

如果我们想走极端,将打印限制设置为我们机器允许的最大值数,我们可以使用以下语法:

 #increase print limit to max allowed by your machine
options(max. print = .Machine$integer. max )

但是,仅当您绝对需要能够显示数据框中的每一行时才使用此选项,因为如果您正在处理的数据非常大,则可能需要很长时间才能完成。

其他资源

以下教程解释了如何解决 R 中的其他常见错误:

如何在 R 中修复:名称与以前的名称不匹配
如何在 R 中修复:较长物体的长度不是较短物体长度的倍数
如何在 R 中修复:对比只能应用于具有 2 个或更多级别的因子

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注