1

我怎样才能整齐而轻松地生成一个 out_table。我用cutree()一个hclust()对象对组进行了分类。我的样本是饮食协议。在我otu_table的研究中,饮食应该是样本,分类群应该是群体。

例子

#base data for the groups
base <- data.frame(row.names = c("apple","bread","banana","orange juice"),calories=c(45,87,97,30),Mg=c(45,23,89,64))

 calories Mg
apple              45 45
bread              87 23
banana             97 89
orange juice       30 64

base_dist <- dist(base)
h_base <- hclust(base_dist,method="average")
cut_base <- cutree(h_base,h=0.5)

otu_diets <- mutate(base,cluster = cut_base)##adding cluster info to df

#samples
diet1 <- data.frame(row.names = c(" red apple","banana","bread","strawberry"),calories=c(45,56,72,32),Pt=c(0,23,56,45))

diet2 <- data.frame(row.names = c("banana","bread","orange juice","apple"),calories=c(45,56,75,22),Pt=c(89,23,56,45))

如您所见,在饮食协议中,某些食物的名称与basedata.frame 中的名称不同。饮食协议中还有一些食物在base. 我希望otu_table看起来像这样

otu <- data.frame(row.names = c("diet1","diet2"),group1=c(1,1),group2=c(1,1),group3=c(1,1),group4=c(0,1))
otu <- otu_table(otu)

group1 group2 group3 group4
diet1      1      1      1      0
diet2      1      1      1      1

因此otu_table,对各组中有多少种食物进行分类。在现实生活中,我有很多饮食方案和很多组,所以我不能像上面的例子那样手动完成。

4

0 回答 0