为什么数据框的列名使用=和<不同

这个问题在这里已经有了答案:

  • R中“=”和“< - ”之间有什么区别? 6个答案

  • <- =运算符不仅分配对象,而且在父环境中创建它们,这与=运算符不同

    稍微重命名列:

    df1 <- data.frame(a1 = 1:5, b1 = 11:15)
    
    
    
    df1
    #   a1  b1
    # 1 1 11
    # 2 2 12
    # 3 3 13
    # 4 4 14
    # 5 5 15
    
    
    #The objects are only created in the dataframee but not in environment  
    # > exists(x = "a1")
    #[1] FALSE
    #> exists(x = "b1")
    #[1] FALSE
    
    
    #The objects are not only in created in the dataframe as well as in the environment
    
    df2 <- data.frame(a2 <- 1:5, b2 <- 11:15)
    df2
    #   a2....1.5 b2....11.15
    # 1        1         11
    # 2        2         12
    # 3        3         13
    # 4        4         14
    # 5        5         15
    
    # > exists(x = "a2")
    #[1] TRUE
    #> exists(x = "b2")
    #[1] TRUE
    

    如果要将列名称作为a,b,则应使用正确的语法

    data.frame(a=1:5, b=1:5)
    

    该声明

    data.frame(a <- 1:5, b <- 1:5)
    

    R将其解释为好像没有提供列名,所以它将整个表达式'a < - 1:5'视为第一列名,但有2个空格和3个非法字符'<',' - ',': '在列名中是不允许的,所以它们中的每一个都被改为字符'。',因此你得到整个'a .... 1.5'作为第一列名,第二列也是一样。

    链接地址: http://www.djcxy.com/p/73849.html

    上一篇: Why data frame column names different using = and <

    下一篇: R : how to name String without creating an object