R语言操作n

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")

gephi安装网址

相关推荐
q5673152315 小时前
R语言初学者爬虫简单模板
开发语言·爬虫·r语言·iphone
shootero@126.com2 天前
R语言开发记录,二(创建R包)
r语言
shootero@126.com2 天前
R语言开发记录,一
开发语言·r语言
旷世奇才李先生2 天前
R 语言安装使用教程
开发语言·r语言
十三画者13 天前
【科研绘图系列】R语言绘制circos图形(circos plot)
数据挖掘·数据分析·r语言·数据可视化
Morpheon13 天前
使用 R 处理图像
开发语言·计算机视觉·r语言
WW、forever14 天前
服务器手动安装并编译R环境库包:PROJ→RGDAL
运维·服务器·r语言
WW、forever15 天前
【服务器R环境架构】基于 micromamba下载 R 库包
运维·服务器·r语言
Jet450517 天前
第100+42步 ChatGPT学习:R语言实现阈值调整
开发语言·学习·chatgpt·r语言
Smiling63917 天前
【R】基于R实现贝叶斯分析(一)
r语言·贝叶斯分析·bayes