对于所有类型的命令(例如,str(x)在包上安装更新),我有一个持久的多重警告"未知列",并且不确定如何调试或修复它.
警告"未知列"显然与我重命名的tbl_df中的变量有关,但警告出现在与tbl_df无关的所有类型的命令中(例如,在包上安装更新,str(x)其中x是只是一个字符向量).
我开始使用RStudio笔记本,我仍然试图了解一些工作原理.我不明白为什么在执行与消息完全无关的代码时会保留并显示某些生成的警告消息.例如,我有一个包含多个块的文档,其中最后一个生成警告
> warnings()
Warning messages:
1: Unknown or uninitialised column: 'perc.goal.met.period'.
2: Unknown or uninitialised column: 'perc.goal.met.period'.
3: Unknown or uninitialised column: 'perc.goal.met.period'.
4: Unknown or uninitialised column: 'perc.goal.met.period'.
5: Unknown or uninitialised column: 'perc.goal.met.period'.
6: Unknown or uninitialised column: 'perc.goal.met.period'.
7: Unknown or uninitialised column: 'perc.goal.met.period'.
8: Unknown or uninitialised column: 'perc.goal.met.period'.
9: Unknown or uninitialised column: 'perc.goal.met.period'.
10: Unknown or uninitialised column: 'perc.goal.met.period'.
11: Unknown or uninitialised column: 'perc.goal.met.period'.
12: Unknown or uninitialised column: 'perc.goal.met.period'.
13: Unknown or …Run Code Online (Sandbox Code Playgroud) ggrepel允许通过排斥彼此太近的标签来避免文本标签重叠。
该算法取决于查看窗口大小,并且当窗口大小更改时会发生回调。
如果算法无法避免给定窗口大小的重叠,则会发出警告:
Warning messages:
1: ggrepel: 178 unlabeled data points (too many overlaps). Consider increasing max.overlaps
Run Code Online (Sandbox Code Playgroud)
我想抑制这些警告,与 的值无关max.overlaps,因为它们可能会延迟并且断章取义。
延迟的原因可能是首次打印后或更改查看窗口宽度后的回调,请参见下面的示例:
library(ggplot2)
library(ggrepel)
N <- 50
data <- data.frame(x=1:N,y=rep(1,N),label = paste0("Text",1:N))
ggplot(data)+
geom_point(aes(x=x,y=y))+
geom_text_repel(aes(x=x,y=y,label=label),hjust=0, vjust=0, box.padding = 0.5, max.overlaps = 20)
# If the viewing window width is OK, no warning!
# Execute anything in console
1
#[1] 1
# This is OK!
Run Code Online (Sandbox Code Playgroud)
# Now reduce window width with mouse
# No warning yet
# Execute anything in …Run Code Online (Sandbox Code Playgroud)