我已经提到了Create a presence/absence column based on presence records [duplicate]、Create a presence-absence matrix with presence on specific dates和Presence-absence matrix,但不断遇到我的物种关联列的问题。
使用一个基于灵长类动物行为的大型纵向数据集,我创建了一个物种/关联表。我有一个额外的列,变量,可能是由于我试图对“community_id”进行分组。我的数据集的所有可复制子集如下所示。
输出数据-
data <- structure(list(Species = c("BABO", "BW", "RC", "BW", "RC", "SKS",
"SKS", "RC", "RC", "SKS", "BW", "RC", "RC", "RC", "RC", "SKS",
"RC", "SKS", "SKS", "RC"), Association = c(NA, "SKS", NA, "RC",
"BW", "SKS", NA, NA, NA, "BW", "SKS", NA, "SKS", "BW", "SKS",
NA, NA, "SKS", NA, "MANG"), variable = structure(c(1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L
), .Label = "community_id", class = "factor"), community_id = c("2007-4-16.C3",
"2007-4-16.C3", "2007-4-16.C3", "2007-4-17.Mwani", "2007-4-17.Mwani",
"2007-4-17.Mwani", "2007-4-17.Mwani", "2007-4-18.Sanje", "2007-4-18.Sanje",
"2007-4-18.Sanje", "2007-4-18.Sanje", "2007-5-8.C3", "2007-5-9.Mwani",
"2007-5-9.Mwani", "2007-5-9.Mwani", "2007-5-10.Sanje", "2007-5-10.Sanje",
"2007-6-6.C3", "2007-6-6.C3", "2007-6-6.C3")), row.names = c(NA,
20L), class = "data.frame")
输出-
Species Association variable community_id
<chr> <chr> <chr> <chr>
1 BABO NA community_id 2007-4-16.C3
2 BW SKS community_id 2007-4-16.C3
3 RC NA community_id 2007-4-16.C3
4 BW RC community_id 2007-4-17.Mwani
5 RC BW community_id 2007-4-17.Mwani
6 SKS SKS community_id 2007-4-17.Mwani
7 SKS NA community_id 2007-4-17.Mwani
8 RC NA community_id 2007-4-18.Sanje
9 RC NA community_id 2007-4-18.Sanje
10 SKS BW community_id 2007-4-18.Sanje
11 BW SKS community_id 2007-4-18.Sanje
12 RC NA community_id 2007-5-8.C3
13 RC SKS community_id 2007-5-9.Mwani
14 RC BW community_id 2007-5-9.Mwani
15 RC SKS community_id 2007-5-9.Mwani
16 SKS NA community_id 2007-5-10.Sanje
17 RC NA community_id 2007-5-10.Sanje
18 SKS SKS community_id 2007-6-6.C3
19 SKS NA community_id 2007-6-6.C3
20 RC MANG community_id 2007-6-6.C3
我需要一个按community_id分组的存在-不存在矩阵。我已经尝试过按列“community_id”分组,我相信我就是在这里创建了一个额外的、看起来不相关的“变量”列。我正在寻找以下输出-
community_id BABO BW RC SKS Mang
<chr> <chr> <chr> <chr> <chr> <chr>
2007-4-16.C3 1 1 1 1 0
2007-4-17.Mwani 0 1 1 1 0
2007-4-18.Sanje 0 1 1 1 0
2007-5-8.C3 0 0 1 0 0
2007-5-9.Mwani 0 1 1 1 0
2007-5-10.Sanje 0 0 1 1 0
2007-6-6.C3 0 0 1 1 1
任何建议或帮助都是非常感谢的!祝你有愉快的一天。
4条答案
按热度按时间bpzcxfmw1#
使用
pivot_wider
的解,首先组合变量 * 物种 * 和 * 关联 *。eiee3dmh2#
您可以:
创建于2023年1月19日,使用reprex v2.0.2
wgmfuz8q3#
碱R溶液
将
community_id
和Species
的unique()
组合生成table()
:tidyverse解决方案
community_id
和Species
的distinct()
值的第一子集然后创建一个Present
变量,所有观测值均设置为1;然后是pivot_longer()
,使用values_fill
arg为未观察到的群落-物种组合添加0。一个二个一个一个
30byixjq4#
基本上你要看完整的物种
spc
是否是unique
ly%in%
,即群落。