【问题标题】:normalizing multivariate data标准化多元数据
【发布时间】:2014-11-22 22:36:52
【问题描述】:

请问有任何 R 包或函数可用于标准化多元数据吗?我并不真正关心标准化方法(min-max,z-score,任何对我有用的东西!!)。我有一个在 12 小时内测量的 32 个对象的时间序列。它看起来有点像这样:

df <-  structure(list(hr1 = c(4343L, 153L, 159L, 3100L, 183L), hr2 = c(1098L, 
123L, 65L, 3050L, 225L), hr3 = c(7L, 110L, 65L, 256L, 20L), hr4 = c(6400L, 
141L, 69L, 251L, 313L), hr5 = c(112L, 107L, 70L, 5L, 245L), 
hr6 = c(46L, 139L, 73L, 208L, 30L), hr7 = c(115L, 105L, 65L, 
219L, 267L), hr8 = c(375L, 137L, 66L, 180L, 345L), hr9 = c(187L, 
126L, 65L, 63L, 279L), hr10 = c(1613L, 277L, 66L, 134L, 30L
), hr11 = c(55L, 316L, 139L, 454L, 36L), hr12 = c(577L, 48L, 
90L, 3581L, 88L)), .Names = c("hr1", "hr2", "hr3", "hr4", 
"hr5", "hr6", "hr7", "hr8", "hr9", "hr10", "hr11", "hr12"), 
class = "data.frame", row.names = c("1", "2", "3", "4", "5"))

> df
   hr1  hr2 hr3  hr4 hr5 hr6 hr7 hr8 hr9 hr10 hr11 hr12
1 4343 1098   7 6400 112  46 115 375 187 1613   55  577
2  153  123 110  141 107 139 105 137 126  277  316   48
3  159   65  65   69  70  73  65  66  65   66  139   90
4 3100 3050 256  251   5 208 219 180  63  134  454 3581
5  183  225  20  313 245  30 267 345 279   30   36   88

我想对每个对象的值进行归一化,并对它们运行 k-means 聚类,以对具有相似形状的对象进行分组。目前,它们的值过于分散,会产生不准确的集群。我仍然不太确定如何进行规范化和聚类,并且会很感激任何指针。谢谢。

【问题讨论】:

  • 看看?scale
  • @hrbrmstr 谢谢,我想我会利用它

标签: r time-series cluster-analysis normalization


【解决方案1】:

你可以使用缩放功能

scaledDF <- scale(df)

查看 R 中 scale 函数的文档:

https://stat.ethz.ch/R-manual/R-devel/library/base/html/scale.html

【讨论】:

  • 是的,它基于z-score
猜你喜欢
  • 2017-01-20
  • 2018-05-19
  • 2017-11-29
  • 2019-10-22
  • 1970-01-01
  • 2014-08-14
  • 2011-06-18
  • 2020-06-30
相关资源
最近更新 更多