R使用apcluster绘制日期

时间:2014-01-09 09:41:09

标签: r matrix plot cluster-analysis

我正在使用包apcluster对某些数据进行一些聚类。我目前有一个名为mat的大型矩阵,它遵循以下格式:

             date          A             B            C
1      2000-01-03  2.00000000  0.300000000   4.00000000
2      2000-01-04  0.20000000  0.000030000  -0.02469136
3      2000-01-05 -0.07692308  -0.02469136  -0.07594937

apcluster提供了绘制原始数据上覆盖的聚类(作为散点图)的功能。在策划我的时候:

plot(cluster, mat)

不必担心cluster,只有mat给我带来了麻烦。上面给出了9个图...对角线是列名(日期除外),每个图表示每列的数据与另一列相对。这意味着XY轴位于数据范围内,即。对于A,它会从-0.082.0

所以我的问题是如何绘制每个列的日期,因为日期将作为X轴,而来自mat的数据则充当Y 这样所有三列数据都会显示在一个图上,而不修改上面的plot命令?

apcluster文档位于HERE

感谢。

1 个答案:

答案 0 :(得分:1)

我不是100%确定你需要什么。是否要将日期列包含在聚类过程和绘图中?如果在上面提到的数据框架上运行apcluster(),则只会忽略日期列。

因此,如果您想要包含日期列,我的建议是将日期列转换为数字,例如通过以下方式:

    x$date <- as.numeric(as.Date(x$date))

缺点是结果是在几天内(从1970-01-01),因此(1)该列将与其他列完全不同的比例和(2)图的轴不会是以非常可解释的方式标记。因此,最好将日期转换为几年的分数,例如像2013-01-01 = 2013.00; 2013-07-01~ = 2013.50; 2014-01-01 = 2014.00。你知道我的意思吗?

如果您选择这两个选项中的任何一个,apcluster()将考虑日期,而plot()命令也会在日期列中绘制A,B,......列。

干杯, UBod