zoukankan      html  css  js  c++  java
  • R语言-attach、detach、with

     

    在R语言中,对于串列,数据框中的数据的进行操作时,为了避免重复地键入对象名称,可使用attach或with。

    1、attach()

    假设data.frame包含列name,age

    attach(onedata.frame)后就可以引用直接引用onedata.frame中的元素了,例如:

    (1)创建测试数据框

    > name<-c("Zhangshan","Lisi","Wangwu","Zhaoliu")

    > age<-c(20,30,40,50)

    > onedata.frame<-data.frame(name,age)

    > onedata.frame       

        name age

    1 Zhangshan  20

    2      Lisi  30

    3    Wangwu  40

    4   Zhaoliu  50

    (2)attach测试

    > attach(onedata.frame) The following objects are masked _by_ .GlobalEnv:
        age, name
    > age [1] 20 30 40 50

    > name [1] "Zhangshan" "Lisi"      "Wangwu"    "Zhaoliu"   > detach(onedata.frame)
    > name 错误: 找不到对象'name'

    可见,访问数据框中的元素只在命令attach()和detach()之间可以搜索到。

    2、with()

    使用with,类似Javascript中的with,在括号中有效。例如:

    >with(onedata.frame,{     name })

    [1] Zhangshan Lisi      Wangwu    Zhaoliu  

    Levels: Lisi Wangwu Zhangshan Zhaoliu 用with有个问题就是里面设置的变量在外部无法访问:

    > with(onedata.frame,{name1<-name})

    > name1 错误: 找不到对象'name1'


    解决办法就是使用<<-赋值符号,例如:

    > with(onedata.frame,{name1<<-name})

    > name1 [1] Zhangshan Lisi      Wangwu    Zhaoliu  

    Levels: Lisi Wangwu Zhangshan Zhaoliu > 

  • 相关阅读:
    Java中==和equals的区别
    (转)JAVA-反射机制的使用
    JAVA三框架工作原理是什么?
    Spring的IoC模式
    JavaEE中为什么出现中文乱码?
    Android--Apache HttpClient(2种实现)
    Android之网络----使用HttpClient发送HTTP请求(通过get方法获取数据)
    Android—Http连接之GET/POST请求
    2014 12 04
    struts2的HelloWorld的基本过程
  • 原文地址:https://www.cnblogs.com/sthinker/p/5816127.html
Copyright © 2011-2022 走看看