我正在使用包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个图...对角线是列名(日期除外),每个图表示每列的数据与另一列相对。这意味着X
和Y
轴位于数据范围内,即。对于A
,它会从-0.08
到2.0
!
所以我的问题是如何绘制每个列的日期,因为日期将作为X
轴,而来自mat
的数据则充当Y
和这样所有三列数据都会显示在一个图上,而不修改上面的plot
命令?
apcluster
文档位于HERE。
感谢。
答案 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