读取文件时指定行名

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) &lt;- t(obj[1]) ##get row names from first columnobj &lt;- obj[-1] ## remove first column 那么,row.names 的整数是 1 索引的吗?第一列不叫 Column 0? @Dr_Hope R 级别的所有向量都是 1 索引的,因此第一行是第一行,第一列是第一列。

以上是关于读取文件时指定行名的主要内容,如果未能解决你的问题,请参考以下文章

java程序读取资源文件时路径如何指定

js读取文件时如何设置编码

xlsread 读取excel 指定区域

R语言读数据

即使在使用 PySpark 读取 .ORC 文件时明确指定,也缺少标题

当我指定要打印的字段时,为啥 AWK 在文件操作的默认读取记录中打印整行