全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3337 4
2017-08-16
初学R语言当中,在用attach()和detach()遇到问题,搞不清楚R的搜索路径了。用了detach函数后,仍可以找到对象u,但实际用ls()显示有什么对象时,又没有u,这到底是怎么回事呢?希望有人帮忙解释这当中的原因,谢谢谢谢,具体如下
> u<-1:5;
> v<-2:6;
> w<-3:7;
> lentils<-data.frame(u,v,w);lentils
  u v w
1 1 2 3
2 2 3 4
3 3 4 5
4 4 5 6
5 5 6 7
> rm(u,v,w);
> attach(lentils)
> u  
[1] 1 2 3 4 5
> detach(lentils)
> u
[1] 1 2 3 4 5  #????为什么还能显示#

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-8-16 21:34:26
attach(lentils)后是将lentils里面的变量变成全局变量,不用通过lentils就可以访问,detach是逆向操作,rm命令可以删除变量,attach命令后可以查看全局变量u,detach命令可以将全局变量变成局部变量,外面无法访问,你这个情况应该是你在R中敲错了代码导致的,逻辑是没有问题的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-8-18 16:59:37
都_城 发表于 2017-8-16 21:34
attach(lentils)后是将lentils里面的变量变成全局变量,不用通过lentils就可以访问,detach是逆向操作,rm命 ...
你好,上面的代码就是从R中复制过来的,对运行结果就是不理解啊,你觉得以上的代码哪里敲错了吗?
我知道attach和detach 函数 的用法。把u,v,w在R的全局变量删除后,通过attach函数可以直接访问u;紧接着用detach 函数,按逻辑上是u从全局变量出删除了,不能直接访问,那我为什么还是在R中可以直接访问呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-8-19 09:51:10
yunmenghuang 发表于 2017-8-18 16:59
你好,上面的代码就是从R中复制过来的,对运行结果就是不理解啊,你觉得以上的代码哪里敲错了吗?
我知道 ...
我完整的写了您的代码,是没有你这个问题的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-8-21 15:26:43
都_城 发表于 2017-8-19 09:51
我完整的写了您的代码,是没有你这个问题的。
谢谢啊。我先理解这样,但愿以后运行别的没有问题
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群