我试图将vegan::simper()输出保存为数据框架,以便筛选对象,并最终导出为表以供发布。然而,simper输出为class = list,我不知道如何将其转换为数据框架。下面是一些使用沙丘的示例代码。
# Species and environmental data
dune <- read.delim ('https://raw.githubusercontent.com/zdealveindy/anadat-r/master/data/dune2.spe.txt', row.names = 1)
dune.env <- read.delim ('https://raw.githubusercontent.com/zdealveindy/anadat-r/master/data/dune2.env.txt', row.names = 1)
data(dune)
data(dune.env)
(sim <- with(dune.env, simper(dune, Management)))
summary(sim)
class(sim)发布于 2022-07-20 17:25:15
作为@dcarlson评论的补充:simper结果对象是一个复杂的庞然大物,要获得一个表并不容易--特别是因为我不知道您在寻找哪种类型的表。结果对象将每一对因素类存储在一个单独的表中。您可以使用summary(sim)提取所有这些表。如果只想看到一个表,例如对SF_HF,请使用
summary(sim)$SF_HF(要查看可用名称,请使用names(sim))。然后由您从这些单独的表中收集您想要的表。所有的信息都在那里。
并阅读手册页中的警告。
如果您想获得类似于短打印输出的内容,请查看vegan:::print.simper以了解如何实现它。
https://stackoverflow.com/questions/73044473
复制相似问题