Using variable value as column name in data.frame or cbind

后端 未结 4 1621
一整个雨季
一整个雨季 2020-12-06 06:15

Is there a way in R to have a variable evaluated as a column name when creating a data frame (or in similar situations like using cbind)?

For example



        
相关标签:
4条回答
  • 2020-12-06 06:45

    Is structure(data.frame(1:10),names="mycol") aesthetically pleasing to you? :-)

    0 讨论(0)
  • 2020-12-06 06:45

    Simple solution:

    df <- data.frame(1:5, letters[1:5])
    logics <- c(T,T,F,F,T)
    cities <- c("Warsaw","London","Paris","NY","Tokio")
    m <- as.matrix(logics)
    m2 <- as.matrix(cities)
    name <- "MyCities"
    colnames(m) <- deparse(substitute(logics))
    colnames(m2) <- eval(name)
    df<-cbind(df,m)
    cbind(df,m2)
    
    X1.5 letters.1.5. logics MyCities
    1            a   TRUE   Warsaw
    2            b   TRUE   London
    3            c  FALSE    Paris
    4            d  FALSE       NY
    5            e   TRUE    Tokio
    
    0 讨论(0)
  • 2020-12-06 06:55

    just use colnames after creation. eg

    a <- "mycolA"
    b<- "mycolB"
    d <- data.frame(a=1:10, b=rnorm(1:10))
    colnames(d)<-c(a,b)
    d
    mycolA     mycolB
     1 -1.5873866
     2 -0.4195322
     3 -0.9511075
     4  0.2259858
     5 -0.6619433
     6  3.4669774
     7  0.4087541
     8 -0.3891437
     9 -1.6163175
     10  0.7642909
    
    0 讨论(0)
  • 2020-12-06 06:56
    > d <- setNames( data.frame(a=1:10), a)
    > d
       mycol
    1      1
    2      2
    3      3
    4      4
    5      5
    6      6
    7      7
    8      8
    9      9
    10    10
    
    0 讨论(0)
提交回复
热议问题