0
我有一个excel csv文件,其混合数据看起来类似于下面提供的示例数据框。如何循环R中的分析,同时从原始数据集迭代移除/替换行?
考虑下面的示例数据和分析:
#Installing packages
library(cluster)
library(vegan)
size = c(5,300,500,4000,60000,2000)
diet = c('A','A','C','D','C','D')
area = c('Ae','Te','Fo','Ae','Te','Ae')
time = c('Di','No','Di','Cr','Ca','Ca')
distance = c(50,800,60,12000,150000,4200)
DF = data.frame(size,diet,area,time,distance)
row.names(DF) = c('Bird','Rat','Cobra','Dog','Human','Fish')
#Calculate Gower distance dissimilarity matrix for species in "DF"
DF.diss = daisy(DF, metric = "gower", type = list(logratio = c("size", "distance")))
attributes(DF.diss)
#Performing hierarchical cluster analysis on dissimilarity matrix
DF.Hclust = hclust(DF.diss, method = "average")
#Calculating metric for species community based on hclust tree
treeheight(DF.Hclust)
与所有的行开始为例子做,我将如何去重新运行分析,同时反复移除一行,重新运行分析,把排回下一行,重新运行分析等等,直到对每个物种被移除/替换完成一次分析。
我有兴趣计算整个社区的树高度量标准,同时删除和替换单个物种以评估它们对整体树高度的贡献。
由于我的实际数据集有200多个物种,如果有一种方法可以在R中执行此操作,而无需准备200多个单独的csv文件,我已经删除了单个物种,然后分别运行提供分析。也有可能将每个treeheight输出/结果输出到一个表格吗?
所以我测试了它,它的工作原理与示例数据一样。要适应实际更大的数据集并让您知道一切是否顺利。万分感谢!只是一个简短的问题。我是否正确地假设度量出现在treeheight矩阵中的顺序是指在源数据帧中删除相应的rownumber中的物种之后的度量?像第一个treeheight是在狗被移除之后,第二个是在替换了狗然后去除了鼠之后? –
是的!你是对的! DF [-i,]中的'i'表示它当前正在进行的迭代。它从1到最后一行。它具有当前迭代的值。所以它首先从原始数据集中删除第一行,在第二次迭代中删除原始数据集中的第二行。它并不真正放置第一行,它只是从原始数据集中删除一个,并将其另存为另一个数据集并使用该数据集进行计算。 –