R 如何使用相关性或聚类分析组织数据以创建热图(x必须是数字问题)
我需要一些用聚类分析和相关性生成热图的帮助(我是R新手)。我的数据在Excel中如下所示:R 如何使用相关性或聚类分析组织数据以创建热图(x必须是数字问题),r,cluster-analysis,heatmap,hierarchical-clustering,pearson-correlation,R,Cluster Analysis,Heatmap,Hierarchical Clustering,Pearson Correlation,我需要一些用聚类分析和相关性生成热图的帮助(我是R新手)。我的数据在Excel中如下所示: Gene1 Gene2 Gene3 Gene4 Gene5 ... Gene296 Bacteria1 0 0 0 0.7 0.2 ... 0 Bacteria2 0.44 0 0 0 0 ... 0.9 B
Gene1 Gene2 Gene3 Gene4 Gene5 ... Gene296
Bacteria1 0 0 0 0.7 0.2 ... 0
Bacteria2 0.44 0 0 0 0 ... 0.9
Bacteria2 0 0.32 0 0.4 0 ... 0
... ... ... ... ... ... ... ...
Bacteria117 0 0.2 0.3 0 0.7 ... 0
值0.32表示从0到100的32分。得分较高(例如0.9分)或较低(例如0分或0.2分)。我检查了NAs,但没有。我想做聚类分析,根据我的实验数据(分数),找出哪些细菌形成了聚类。该文件是CSV。我使用了以下代码:
> aa <- read.csv(file.choose())
> str(aa)
#I obtain this structure
'data.frame': 117 obs. of 296 variables:
$ X : Factor w/ 117 levels "Ac_neuii_BVI",..: 45 64 67 104 1 2 3 4 5 6 ...
$ AAC6_Iad : num 0 0 0 0 0 0 0 0 0 0 ...
$ aad6 : num 0 0 0 0 0 0 0 0 0 0 ...
$ abeS : num 0 0 0 0 0 0 0 0 0 0 ...
> is.numeric(aa)
[1] FALSE
aa str(aa)
#我得到这个结构
“data.frame”:117 obs。在296个变量中:
$X:系数w/117“新英属维尔京群岛”等级,45 64 67 104 1 2 3 4 5 6。。。
$AAC6_Iad:num 0 0 0 0 0。。。
$aad6:num 0 0 0 0 0 0。。。
$abeS:num 0 0 0 0 0 0。。。
>is.数字(aa)
[1] 假的
当我尝试使用相关性或聚类时,会出现以下错误:
> az <- cor(aa)
Error in cor(aa) : 'x' must be numeric
>azaa$X
不是数字(它包含因子)。您可以使用以下方法对其进行变换:
aa$X = as.numeric(aa$X)
然后az您可以将细菌名称作为行导入。名称:
aa <- read.csv(file.choose(), row.names = 1)
aa您所做的编辑与@Cole的另一个答案类似。
aa <- read.csv(file.choose(), row.names = 1)