如何 运行 在 R 上对基于文本的数据进行聚类分析

How to run cluster analysis on R for text based data

Excel 数据将包含从用户收集的 36 个因素(基本上是或否问题)。基于这个问题有没有办法运行进行聚类分析?我尝试使用 iris 示例作为参考,但由于我的数据完全基于文本,因此试图找出一种方法。

日期是这样的:

            Q 1     Q 2     Q 3     Q 4     Q 5
People 1    Yes     Yes     Yes     Yes     Yes 
People 2    No      Yes     No      Yes     No
People 3    No      No      No      No      No
People 4    Yes     No      Yes     No      Yes 
People 5    No      Yes     No      Yes     No
People 6    Yes     No      Yes     No      Yes 
People 7    No      Yes     No      Yes     No

由于我参考了在线博客、Crossvalidated Stackexchange 或其他用于因子分析的资源,我在这里展示了一种方法,如何获取数据数值。

我是这样重现你的数据的:

library(tidyverse)
df <- read_table("Person ID     Q1     Q2     Q3     Q4     Q5
People 1    Yes     Yes     Yes     Yes     Yes 
People 2    No      Yes     No      Yes     No
People 3    No      No      No      No      No
People 4    Yes     No      Yes     No      Yes 
People 5    No      Yes     No      Yes     No
People 6    Yes     No      Yes     No      Yes 
People 7    No      Yes     No      Yes     No") %>% 
  unite("PersonID", Person, ID, sep = "")

现在您需要将文本交换为因子而不是数字数据。

df %>% 
  mutate_if(grepl("Q", names(.)), as.factor) %>% 
  mutate_if(is.factor, as.numeric) 

输出为:

# A tibble: 7 x 6
  PersonID    Q1    Q2    Q3    Q4    Q5
  <chr>    <dbl> <dbl> <dbl> <dbl> <dbl>
1 People1      2     2     2     2     2
2 People2      1     2     1     2     1
3 People3      1     1     1     1     1
4 People4      2     1     2     1     2
5 People5      1     2     1     2     1
6 People6      2     1     2     1     2
7 People7      1     2     1     2     1

现在您可以进行相关性分析,这可能是您进行因子分析所需要的:

df %>% 
  select(-1) %>% 
  cor()

希望方法有所帮助。