【发布时间】:2019-05-04 13:00:38
【问题描述】:
我得到了使用 vegan 包在 R 中进行分析的说明(关于 DCA)。
单个数据帧的说明非常简单,但我想将分析应用于一组数据帧。
我知道这可以通过 for 循环或 lapply 或 sapply 来完成,但我无法处理这样一个事实,即分析的每个步骤都会在数据帧的名称中添加一个新的扩展名。
以下示例
假设我有一个数据框DF,那么它如下:
DF.t1 <- decostand(DF, "total")
DF.t2 <- decostand(DF.t1, "max")
DF.t2.dca <- decorana(DF.t2)
DF.t2.dca.DW <- decorana(DF.t2, iweigh=1)
names(DF.t2.dca)
summary(DF.t2.dca)
DF.t2.dca.taxonscores <- scores(DF.t2.dca, display=c("species"), choices=c(1,2))
DF.t2.dca.taxonscores <- DF.t2.dca$cproj[ ,1:2]
DF.t2.dca.samplescores <- scores(DF.t2.dca, display=c("sites"), choices=1)
我想要实现的是通过这个分析运行几个数据帧,而不是单独写出来。
假设我有一组名为“DF_1”、“DF_2”和“DF_3”的数据帧,我想对其进行分析。
我可能需要将数据帧放在一个列表中,并在 for 循环或 apply 方法之一中获取所有步骤。
但是如何解决在数据帧名称中添加扩展名(.ra、.t1、.t2、.t2.dca、.t2.dca.DW 等)的问题?
编辑:我需要保留分析后的原始数据框,以便对其进行后续分析。
【问题讨论】:
-
循环结束后是否需要保留所有这些不同的数据帧?
-
@Elin 是的,这个分析是在分叉之前进行的;它根据分数确定应在数据帧上使用两个后续分析(CCA 或 RDA)中的哪一个。后续行动的结构与此分析相似。
标签: r list function dataframe lapply