我有一个对数组中所有图的成对比较矩阵。矩阵填充表示图之间的共享物种。
Plot4 Plot5 Plot6 Plot7 Plot8 Plot9 Plot10
Plot4 NA NA NA NA NA NA NA
Plot5 0 NA NA NA NA NA NA
Plot6 1 0 NA NA NA NA NA
Plot7 0 0 0 NA NA NA NA
Plot8 0 1 0 0 NA NA NA
Plot9 0 1 0 0 2 NA NA
Plot10 0 0 0 0 1 1 NA
此矩阵来自以下数据框:
data<-
region plot species
1 104 A_B
1 105 B_C
1 106 A_B
1 107 C_D
2 108 B_C
2 108 E_F
2 109 B_C
2 109 E_F
2 110 E_F
这些图与某些地区有关。我生成了以下循环,为所有500个图创建了这个成对比较矩阵:
plots<-unique(data$plot)
plot.num<-length(plots)
output<-matrix(0, plot.num, plot.num)
for (i in 1:plot.num) {
for (j in 1:plot.num) {
plot_i<-data[data$plot==plots[i],]
plot_j<-data[data$plot==plots[j],]
output[i,j]<-length(intersect(plot_i$species, plot_j$species))
}
}
F.mat<-output
F.mat[lower.tri(F.mat, diag=T)]<-0
但是,现在我想创建一个循环,按区域对上面的较大矩阵进行子集化,以生成区域矩阵列表。
output<-
[[1]]
Plot4 Plot5 Plot6 Plot7
Plot4 NA NA NA NA
Plot5 0 NA NA NA
Plot6 1 0 NA NA
Plot7 0 0 0 NA
[[2]] Plot8 Plot9 Plot10
Plot8 NA NA NA
Plot9 2 NA NA
Plot10 1 1 NA
注意:这是一个不存在/不存在的定量矩阵。
答案 0 :(得分:0)
您可以将评估放入函数中,然后var admin = require("firebase-admin");
var serviceAccount = require("./path to service account");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://<database>.firebaseio.com"
});
放在区域上:
{{1}}