【问题标题】:R dataframe createR数据框创建
【发布时间】:2013-09-04 16:18:03
【问题描述】:

我在 R 中有一个数据框,比如 f1。我想创建另一个数据框 f2,其中 f1 中的列名(标题)作为 f2 的行名。我知道 f1 中有 300 个名称,并且想将颜色“#ff0000”分配给前 200 个并将颜色“#0000ff”分配给最后 100 个。我该怎么做?结果应该是这样的,

name1   "#ff0000"
name2   "#ff0000"
...
name201 "#0000ff"
name202 "#0000ff"
...

【问题讨论】:

    标签: r dataframe rbind cbind


    【解决方案1】:

    您的答案中的rbinds 和cbinds 是不必要的。这是一个单行,使用data.frame

    f2 = data.frame(color = c(rep("#ff0000", 200), rep("#0000ff", 100)),
        row.names = names(f1),
        stringsAsFactors = FALSE)
    

    【讨论】:

      【解决方案2】:
      mydata<-mtcars
      mydata1<-data.frame(names(mydata))
      mydata1$col<-c(rep("col1",7),rep("col2",4))
      rownames(mydata1)<-mydata1$names.mydata
      mydata1$names.mydata.<-NULL
      
      > mydata1
            col
      mpg  col1
      cyl  col1
      disp col1
      hp   col1
      drat col1
      wt   col1
      qsec col1
      vs   col2
      am   col2
      gear col2
      carb col2
      

      【讨论】:

        【解决方案3】:

        我自己想通了。 先把f1的名字弄出来,name=col.names(f1)

        然后准备颜色结构,color=rbind(cbind(rep("#ff0000",200)),cbind(rep("#0000ff",100)))

        最后创建数据框,final=data.frame(color,row.names=name)

        【讨论】:

          猜你喜欢
          • 2021-12-24
          • 1970-01-01
          • 2014-12-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多