如何从矩阵中提取行名称?

16

我有一个矩阵,其中行名是日期。我想将这些行名提取到一个变量中,然后使用rownames()将这些日期应用于另一个矩阵。假设该矩阵名为"data.matrix"。

每当我运行:

data.matrix[,0]

我获得了所有日期的打印输出。因此,我这样做:

v <- data.matrix[,0]

当我返回v时,我会得到一个漂亮的日期列表。但是当我使用:

rownames(other.matrix) <- v

然后我返回:

head(other.matrix)

我没有得到任何新的列名。
此外,当我尝试时:
head(v)

我得到了NULL

但是当我这样做时:

v

我得到了所有日期的漂亮打印输出。

那是怎么回事呢?起初我以为矩阵和日期不兼容,但似乎它们是兼容的。

现在我正在使用merge()这种方式来添加日期:

z <- merge(v, other.matrix)

但感觉有更好的方法来做这件事。


2
尝试:rownames(other.matrix) <- rownames(v) - Tyler Rinker
1个回答

14

该命令

data.matrix[,0]

返回的是一个没有列的矩阵对象。因此,您只会看到它的行名称。

要从对象中提取行名称,请使用rownames函数:

v <- rownames(data.matrix)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接