1.加载安装vegan包
2.查看data(varechem)和data(varespec),探索其维度和结构
3.基于varespec构建物种互作网络,输出gml文件并采用gephi可视化为图片,输出pdf,阈值为r>0.6,p<0.05
4.基于varespec和varechem构建物种-环境互作网络,输出gml文件并采用gephi可视化为图片,输出pdf,阔值为r>0.6,p<0.05
r
# 1
install.packages("vegan")
library(vegan)
# 2
data(varechem)
data(varespec)
dim(varechem)
dim(varespec)
str(varechem)
str(varespec)
# 3
install.packages(c("Hmisc", "igraph"))
library(Hmisc)
library(igraph)
cor_spec <- rcorr(as.matrix(varespec), type = "pearson")
species <- colnames(varespec)
edges <- data.frame()
for (i in 1:(ncol(varespec)-1)) {
for (j in (i+1):ncol(varespec)) {
r_val <- cor_spec$r[i, j]
p_val <- cor_spec$P[i, j]
if (abs(r_val) > 0.6 && p_val < 0.05) {
edges <- rbind(edges, data.frame(from = species[i], to = species[j]))
}
}
}
g <- graph_from_data_frame(edges, directed = FALSE)
write_graph(g, "species_network.gml", format = "gml")
# 4
library(psych)
cor_env_spec <- corr.test(varespec, varechem, method = "pearson", adjust = "none")
edges_env <- data.frame()
env_vars <- colnames(varechem)
for (i in 1:ncol(varespec)) {
for (j in 1:ncol(varechem)) {
r_val <- cor_env_spec$r[i, j]
p_val <- cor_env_spec$p[i, j]
if (abs(r_val) > 0.6 && p_val < 0.05) {
edges_env <- rbind(edges_env, data.frame(from = species[i], to = env_vars[j]))
}
}
}
nodes_env <- data.frame(name = c(species, env_vars),
type = c(rep("species", length(species)),
rep("environment", length(env_vars))))
g_env <- graph_from_data_frame(edges_env, directed = FALSE, vertices = nodes_env)
write_graph(g_env, "species_env_network.gml", format = "gml")