Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何使用相关性或聚类分析组织数据以创建热图(x必须是数字问题)_R_Cluster Analysis_Heatmap_Hierarchical Clustering_Pearson Correlation - Fatal编程技术网

R 如何使用相关性或聚类分析组织数据以创建热图(x必须是数字问题)

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

我需要一些用聚类分析和相关性生成热图的帮助(我是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 

   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

>az
aa$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)