使用attach()函数时数据读取错误

 在省略数据框名简化程序方面,使用attach()是非常方便的。但有的时在使用attach()时,容易遇到因变量名重复而导致提取数据错误的情况。函数attach()可将数据框添加到R的搜索路径中,这样在定位数据框某个变量的时候,可以省略数据框名,简化程序。与此对应,函数detach()是将数据框从搜索路径中移除。

使用attach()函数时数据读取错误_第1张图片
而当当前的工作空间中存在名称相同的对象时,attach()函数的使用就会收到限制,可能导致最后数据框数据读取错误。当前工作空间出现名称相同的对象,可能是因为保存了之前的工作空间,或者是当前的工作空间定义了名称相同的对象。
使用attach()函数时数据读取错误_第2张图片
使用attach()函数时数据读取错误_第3张图片
在关闭R时,如果保存了此次工作空间,那么在下次打开R时会显示“原来保存的工作空间已还原”,这意味着现在的工作空间里包含了上次工作空间里的所有对象(可使用ls()来查看保存看工作空间中的对象名称),这时再使用attach()函数可能就会出现对象名称重复,读取数据失败的情况。继续上面那个例子,如果上一个工作空间已经给x赋值了,并且保存了工作空间,那么下次再打开R,导入一个新的数据框并使用attach()函数时可能就会出现数据读取错误的情况。下面的程序导入了一个含有x的表格,这时使用attach()来读取x的值时,就会出错。
使用attach()函数时数据读取错误_第4张图片
遇到这种情况,只需将R工作目录中保存的工作空间删除即可,再运行一次代码即可。
这里写图片描述

你可能感兴趣的:(r语言)