`掩码输出`以下对象在调用attach()函数后从....:`屏蔽

Lil*_*ily 17 r

我想知道The following objects are masked from XXX(position 11):每次调用attach()函数时是否有掩盖长列表输出的方法?

top*_*hef 26

attach没有使用detach- 每次你做新的调用来附加之前附加的掩码对象(它们包含相同的名称).使用detach或根本不使用attach.很好的讨论和提示在这里.


Dan*_*arr 8

如果您查看环境选项卡中的向下箭头。附件可以多次出现。您可能需要detach(filename)多次突出显示并运行,直到所有案例都消失,然后attach(newfilename)应该没有输出消息。

环境选项卡下的附加文件


小智 5

attach根本不使用可能“更好” 。从好的方面来说,如果使用attach. 假设您的数据集被称为,mydata并且您有名为v1v2和 的变量v3。如果您不附加mydata,则您将键入mean(mydata$v1)以获取 的平均值v1。如果您确实附加mydata,那么您将键入mean(v1)以获取 的平均值v1。但是,如果您不分离mydata数据集(每次),您将收到有关对象被屏蔽的消息。

解决方案1(假设您要附加):

  1. detach每次都使用。
  2. 如果您已经附加了数据(并且可能多次出现在全局环境中),请参阅 Dan Tarr 的回复。然后,以后每次都使用detach。

解决方案2

不要使用attach. 相反,每次引用变量时都应包含数据集名称。形式为mydata$v1(数据集名称、美元符号、变量名称)。

就我而言,我过去经常使用解决方案 1,但现在我已转向解决方案 2。一开始需要输入更多内容,但如果您要多次使用该代码,它看起来会更干净。