我有360个数据框(每个数据框包含一列带有物种名称的列),名称为“ sp_i_j”,其中i从1到30(对应于30个样本),j从1到12(对应于每个样本12个重复)-> sp_1_1,sp_1_2,...,sp_30_11,sp_30_12。
例如,sp_1_1就是这样:
>sp_1_1
species
1 Cynoglossus bilineatus
2 Denticeps clupeoides
3 Gnathopogon imberbis
4 Grasseichthys gabonensis
5 Howella brodiei
sp_2_1看起来像这样:
> sp_2_1
species
1 Acipenser fulvescens
2 Acrossocheilus stenotaeniatus
3 Allocyttus niger
4 Anguilla celebesensis
5 Aulopyge huegelii
我还有其他30个名为“ species_s1”到“ species_s30”的数据框,也仅包含具有种类名称的一列。
species_s1就是这样:
> species_s1
species
1 Pseudaspius leptocephalus
2 Denticeps clupeoides
3 Howella brodiei
4 Microphysogobio tafangensis
5 Semotilus atromaculatus
6 Grasseichthys gabonensis
and species_s2就是这样:
> species_s2
species
1 Geotria australis
2 Odontamblyopus rebecca
3 Neocyttus rhomboidalis
4 Tinca tinca
5 Aulopyge huegelii
6 Rastrelliger kanagurta
我要将以下功能应用于所有360个数据框:
TP <- nrow(inner_join(sp_1_1, species_s1))
以便将所有以“ sp_1_”开头的数据帧与“ species_s1”进行比较,以“ sp_2_”开头的数据帧与“ species_s2”进行比较,依此类推。
我想将结果存储在30列(对应于样本)和12行(对应于重复项)的唯一数据框中。以便将df“ sp_1_1”与“ sp_1_12”与“ species_s1”的比较结果存储在第一列的12行中; df“ sp_2_1”与“ sp_2_12”与“ species_s2”的比较结果将存储在第二列的12行中;等等。
我尝试过类似的事情:
for (i in 1:30) {
for (j in 1:12) {
TP[i,j] <- nrow(inner_join(sp_[i]_[j], species_s[i]))
}
}
但是显然那是行不通的。
有什么建议吗?