【问题标题】:How to run cluster analysis on R for text based data [closed]如何在 R 上运行基于文本的数据的聚类分析 [关闭]
【发布时间】:2019-09-11 11:38:55
【问题描述】:
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
【问题讨论】:
标签:
r
cluster-analysis
data-mining
【解决方案1】:
当我参考在线博客、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()
希望这种方法有所帮助。