读取文件时指定行名
Posted
技术标签:
【中文标题】读取文件时指定行名【英文标题】:Specifying row names when reading in a file 【发布时间】:2012-10-27 15:11:30 【问题描述】:我有一个包含行名的.txt
文件。但是,R 将行名设置为第一列。
【问题讨论】:
【参考方案1】:见?read.table
。基本上,当您使用read.table
时,您指定一个表示列的数字:
##Row names in the first column
read.table(filname.txt, row.names=1)
【讨论】:
【参考方案2】:如果您使用了read.table()
(或其中一个,例如read.csv()
),那么简单的解决方法是将调用更改为:
read.table(file = "foo.txt", row.names = 1, ....)
....
是您需要/使用的其他参数。 row.names
参数采用数据文件的列号,从中获取行名。它不必是第一列。有关详细信息/信息,请参阅?read.table
。
如果您已经在 R 中有数据并且懒得重新读取它,或者它来自另一个路由,只需设置 rownames
属性并从对象中删除第一个变量(假设 obj
是你的对象)
rownames(obj) <- obj[, 1] ## set rownames
obj <- obj[, -1] ## remove the first variable
【讨论】:
您也可以使用基于列的切片(至少对于矩阵和数据框)。rownames(obj) <- t(obj[1]) ##get row names from first column
obj <- obj[-1] ## remove first column
那么,row.names 的整数是 1 索引的吗?第一列不叫 Column 0?
@Dr_Hope R 级别的所有向量都是 1 索引的,因此第一行是第一行,第一列是第一列。以上是关于读取文件时指定行名的主要内容,如果未能解决你的问题,请参考以下文章