R使用rownames()将字符串转换为数字

时间:2013-03-22 02:20:28

标签: r matrix

我有一个数字矩阵“test”,就像这样“

 [1,] 474.00 478.81 468.25 474.98    474.98
 [2,] 463.25 470.00 454.12 468.22    468.22
 [3,] 456.47 466.50 452.58 457.35    454.70
 ...

并希望指定rownames,这是日期字符串(存储在变量a names中)。

> names
 [1] "2013-02-08" "2013-02-07" "2013-02-06" ...

当我在我的矩阵上调用rowname函数时,字符串被转换为数字,我不明白。有人知道一个解决方案,它会将名称中的字符串保存为行名吗?enter code here

rownames(test) <- names


15744 474.00 478.81 468.25 474.98    474.98
15743 463.25 470.00 454.12 468.22    468.22
15742 456.47 466.50 452.58 457.35    454.70
...

2 个答案:

答案 0 :(得分:2)

尝试rownames(test) <- as.character(names)

答案 1 :(得分:2)

我没有足够的代表将此作为对您评论的回复,但我认为这些数字是基于日期的差异。默认情况下,当R检测到日期输入时,它表示为自1970-01-01以来的天数,早期日期为负值。

请参阅:http://www.statmethods.net/input/dates.html

编辑:就像测试一样,我接受了你的第一次输入(2013年2月8日)并计算了它与1970年1月1日之间的差异,我得到了15,744天与你的rowname相匹配。