我正在使用包 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
and ,以便所有三列数据将出现在 one 图上,而不修改 plot
命令以上?
apcluster
文档位于HERE .
谢谢 .
1 回答
我不是100%确定你需要什么 . 是否要将日期列包含在聚类过程和绘图中?如果在上面提到的数据框架上运行apcluster(),则只会忽略日期列 .
因此,如果您想要包含日期列,我的建议是将日期列转换为数字,例如通过以下方式:
缺点是结果是在几天内(从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