R:如何将xts对象转换为数字矩阵?

时间:2012-01-05 23:36:30

标签: r dataframe xts

我需要将xts矩阵转换为数字矩阵或带有数字列的data.frame,无论什么工作。我尝试过使用data.matrix()但结果仍然是字符格式:

class(myxts)
[1] "xts" "zoo"
class(myxts[, "MyNumericColumn"]
[1] "xts" "zoo"

myxts.num = data.matrix(myxts)
class(myxts.num[, "MyNumericColumn"]
[1] "character"

2 个答案:

答案 0 :(得分:5)

虽然我不确定性能损失是什么,但这可以解决问题:

mynumeric.matrix = data.matrix(as.data.frame(myxts))

对as.data.frame的调用将所有字符串转换为数值,然后data.matrix()返回矩阵,将所有剩余的字符串更改为NAs。

答案 1 :(得分:0)

我不确定这是不是你要问的但是我做了

require(YieldCurve)
data(FedYieldCurve)
august <- FedYieldCuve['2011-08']
unclass(august)[1,]

unclass是执行我认为您要执行的操作的功能(删除xts - 特定attr并仅使用这些数字)。其余的是一些样本数据。