作为标签的第1列和变量的第2列从R中的表中的第1列开始

时间:2018-06-04 09:26:54

标签: r

通过在R中执行read.table()函数,如下所示,

dat<-read.table("foo.txt",header=T)
dat

我收到以下输出:

  Sizes Var1  Var2
1 Size1    2    5
2 Size2    6    4
3 Size3    1    8

但是,第1列是“Sizes”而不是“Var1”。我希望将“Var1”作为第1列开始,同时将“Sizes”作为标签。例如,

      Var1  Var2
Size1    2    5
Size2    6    4
Size3    1    8

我怎么能得到它?

我为混淆标题道歉,因为我想不出更好的方式来描述我想要的东西。提前致谢。

1 个答案:

答案 0 :(得分:1)

我相信你需要rownames,你可以在 read.table 中使用 row.names ,如下所示:

read.table(header = TRUE, text = "
a b
           1 2
           3 4
           ", row.names=1)

如果您放置row.names=2,则列 b 将被视为rownames,如果它为NULL,则它将同时包含 a b 作为默认rownames为.numbers的列。

来自?read.table(row.names)的文档:

  

行名称向量。这可以是给出实际行的向量   名称,或给出表格列的单个数字   包含行名称或给出名称的字符串   包含行名称的表列

     

如果有标题,第一行包含的字段少于   列数,输入中的第一列用于   行名称。否则,如果缺少row.names,则对行进行编号。

     

使用row.names = NULL强制进行行编号。缺少或NULL row.names   生成被视为“自动”的行名称

输出如下:

  b
1 2
3 4