R 中的集群数据

问题描述

我对 R 很陌生,我想帮助聚类和分析我的数据。我有一个包含许多列和数据点的数据集。数据框看起来像这样:

V1 V2 V3
G.科尔 53.1 .1.
C.克肖 56.8 .3
G.科尔 53.5 .2
N.瑞安 54.6 .5

我想运行的分析是找到每个名称 V1 的 V2 的标准偏差。我如何做到这一点,以便我获得 V1 中每个人的个人 V2 数据集的标准偏差。例如,什么是 G. Cole 的 V2 标准差?我在 V1 中有数千个名称以及它们随后的 V2 和 V3 值,我想找到它们的 V2 的每个 SD 并将它们从高到低排序。为了做到这一点,我将运行的简单代码是什么?

谢谢

解决方法

使用 dplyr

library(dplyr)
df %>% 
        group_by(V1) %>% 
        summarise(std = sd(V2)) %>% 
        arrange(desc(std))

输出:

  V1            std
  <chr>       <dbl>
1 G. Cole     0.283
2 C. Kershaw NA    
3 N. Ryan    NA   

注意:除了 NA 之外的名称,您会得到 G. Cole,因为这是您的特定示例中唯一包含多个示例的名称。但是假设每个名称都有多个观察值,它会在您的更大数据中工作。