求解答,R语言基础知识,attach detach和detach

R语言中的attach()和detach()函数
R语言中的attach()和detach()函数
attach() 和detach()
用$ 符号访问对象不是非常的方便,如accountants$statef。一个非常有用的工
具将会使列表或者数据框的分量可以通过它们的名字直接调用。而且这种调用是暂时
性的,没有必要每次都显式的引用列表名字。
函数attach() 除了可以用目录路径作为参数,也可以使用数据框。假定数据
框lentils 有三个变量lentils$u, lentils$v, lentils$w,那么
& attach(lentils)
将把数据框绑定在搜索路径的位置2(position 2)上。如果位置1没有变量u, v 或w,
那么u, v 和w 直接在数据框中访问。因此,下面的命令
& u &- v+w
实际上没有替换数据框中的变量u,而是被处于搜索路径位置1工作空间中的变量u 所
屏蔽4。为了真正改变数据框中的数据,最简单的办法还是使用$ 符号:
& lentils$u &- v+w
但是新的分量u 是不可见的,直到数据框绑定去除和重新绑定。
去除一个数据框的绑定,可以使用
& detach()
确切地说,该命令去掉了搜索路径中与位置2的绑定。此时,u, v 和w 将不再可
见,但可以用lentils$u 类似的命令来查看这些变量。如果实体所处的环境位置值大
于2,则可以通过把位置值直接传给detach的办法实现绑定去除,不过,最为安全的
办法是直接使用名字指明位置,如detach(lentils) 和detach("lentils")
注意:最新版本的R 里面,列表和数据框只能在位置2 或更高的位置层
次绑定。这样就不可以直接对绑定的列表和数据框赋值(因此,在一定程度
上它们是静态的)。
其实这两个函数就是把工作路径定位在哪里的问题。
发表评论:
TA的最新馆藏R语言入门教程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
R语言入门教程
上传于||文档简介
&&R​语​言​的​各​种​基​本​应​用​:​向​量​、​作​图​、​统​计​等​。
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩69页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢&&国之画&&&& &&
版权所有 京ICP备号-2
迷上了代码!R语言学习-用attach与with简化输入
例:获取每加仑行驶英里数mpg变量的描述性统计量,绘制此变量与发动机排量disp与车身重量wt的散点图:
summarymtcarsmgp
plotmtcarsmpg,mtcarsdisp
plotmtcarsmpg,mtcarswt
上述代码等同于:
attachmtcars #attach将数据框添加到R的搜索路径,R遇到一个变量名后,松林搜索路径中的数据框,以定位于这个变量。
summarympt
plotmpg,disp
plotmpg,wt
detachmtcars#将数据框从搜索路径中移除。
2. with的用法1
withmtcars,
summarympg,disp,wt
plotmpg,disp
plotmpg,wt
大括号之间的语句都只针对数据框mtcars执行,但如果大括号中只有summarympg一句的话,则省略大括号。
3. with的用法2
withmtcars,
statssummarympg
找不到对象'stats'
此例说明,with后的大括号只有大括号内有效,出了大括号,无效。如果需要创建在with结构以外的对象,则要使用替代,例如:
withmtcars,
nokeepstatssummarympg
keepstatssummarympg
nokeepstats
找不到对象'nokeepstats'
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。苹果/安卓/wp
学科带头人
学科带头人
积分 5283, 距离下一级还需 542 积分
权限: 自定义头衔, 签名中使用图片, 隐身, 设置帖子权限, 设置回复可见
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发, 提升卡, 沉默卡, 千斤顶下一级可获得
道具: 变色卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
开心签到天数: 231 天连续签到: 1 天[LV.7]常住居民III
在R中导入数据后,为什么先要attach(data)呢?
R是怎么运行数据的呢?
另外,数据的格式zoo和data.frame,什么区别?
载入中......
感兴趣领域——产业空间组织(企业家精神、聚集经济、经济增长、产业转移、区域空间结构)
我的理解是attach是为了将data变成R默认处理的数据
比如你导入数据后,做一个回归,没用attach:lm(data$y~data$x)
用了attach后:lm(y~x)
而且attach后,再attach一次data可以看见data里有多少个variable
至于数据格式,我觉得就是不同的后缀吧,就好像xlx和xlsx
你也可以试试R自带的search.help
热心帮助其他会员
总评分:&经验 + 20&
论坛币 + 2&
学术水平 + 6&
热心指数 + 6&
信用等级 + 6&
本帖最后由 马甲1号 于
15:13 编辑
很多作者都建议不要用attach,而是用with函数替代,因为attach可能造成命名冲突。
热心帮助其他会员
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
归欤!归欤!吾党之小子狂简,斐然成章,不知所以裁之。
马甲1号 发表于
很多作者都建议不要用attach,而是用with函数替代,因为attach可能造成命名冲突。谢谢点拨。
你能再具体说一下吗?
感兴趣领域——产业空间组织(企业家精神、聚集经济、经济增长、产业转移、区域空间结构)
马甲1号 发表于
很多作者都建议不要用attach,而是用with函数替代,因为attach可能造成命名冲突。油漆法
不必非得attach,如果你觉得重复写dat$不麻烦的话.
最好的医生是自己,最好的药物是时间……
attach是将数据添加上内存中,一般用于数据框,添加之后就可以直接提取数据框的 ,但是一般用完都会detach()删除掉
热心帮助其他会员
热心帮助其他会员
总评分:&论坛币 + 20&
学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
谢谢,非常有用
原谅我挖个坟,最近恰好看到“Symbols and Environments”这一章。发现LS诸位大大的分析其实均可以用“环境(environment)”来解释:R中的环境有很多级,最接近用户级的是global environment(全局环境?布吉岛这么翻译对不对)。而每个函数自己内部会创建一个local environment,同是函数有它的creating environment(创建环境)和calling environment(调用环境)。好,那么说一下attach干了什么,attach负责将data frame以及list中的所有元素添加到current environment(当前环境),而一般的current environment就是global environment。二楼“木友才”大大举的例子就很好的说明了这一点,数据data自己也有一个local environment,其中有x有y。但是如果不用attach的话,做线性回归的时候,lm函数的local environment中没有x和y,那怎么办?只能用通常从list中提取行or列的方法(按照名称提取),即data$x与data$y。但是attach可以将data中的object都加载进“当前环境”,因此调用lm函数的时候,data中的x和y都已经加载到了当前环境,因此可以直接写lm(y~x)。而问题也由此而生,假如有两个data,data1中有x、y,data2中也是x、y,那么把它们都加载到当前环境中就容易乱套。在调用时就不知道x和y指的是哪个data中的x和y。这就是为什么3L的“马甲1号”大大建议不要用attach,而是用with。用with的话就不会有这个问题。
foozhencheng 发表于
原谅我挖个坟,最近恰好看到“Symbols and Environments”这一章。发现LS诸位大大的分析其实均可以用“环境 ...你看的书的书名叫什么,感觉讲得好透彻
无限扩大经管职场人脉圈!每天抽选10位免费名额,现在就扫& 论坛VIP& 贵宾会员& 可免费加入
加入我们,立即就学扫码下载「就学」app& Join us!& JoinLearn&
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
京ICP证090565号
京公网安备号
论坛法律顾问:王进律师

我要回帖

更多关于 r语言detach 的文章

 

随机推荐