钻石包在 R 3.2.2 中被读取为 10 个字符的向量

Diamonds package is being read as vector of 10 characters in R 3.2.2

简而言之,我的 R 程序不断读取 in/attaching 臭名昭著的钻石数据集,作为从 "a" 到 "j" 的 10 个字符的向量。换句话说,没有附加实际数据。下面是我的工作区的副本:

> clearhistory <- function() {
+   write("", file=".blank")
+   loadhistory(".blank")
+   unlink(".blank")
+ }
> library(ggplot2)

Attaching package: ‘ggplot2’

The following object is masked _by_ ‘.GlobalEnv’:

diamonds

> diamonds
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"

注意:我正在东芝笔记本电脑上开发 Windows 10

到目前为止我做了什么:

使用 search() 查看包含附加对象的位置的搜索顺序——列表中较高位置的位置将 'mask' 访问较低位置的对象。

在这种情况下,ggplot 已被附加,但它在 .GlobalEnv 下方,因此如果您引用 diamonds 并且在 .GlobalEnv 中找到具有该名称的对象,R 将只是 return 没有检查其他地方(比如 ggplot)。

正如评论者所提到的,您可能在之前的 R 会话中将字符向量保存到 diamonds,然后在退出时保存了工作场所。现在,当你重新开始时,那个工作场所正在开放。要验证这一点,请在您在此文件夹中启动 R 时但在加载 ggplot2 之前键入 ls()。如果 diamonds 已经存在,请先将其删除(或者,如果此处没有其他重要内容,请删除此文件夹中隐藏的 .Rdata 文件,该文件将在启动时恢复)。