【发布时间】:2014-09-08 15:21:26
【问题描述】:
我有以下数据集(这是前 10 行,有 >500)。每一行都描绘了空间中的一个独特位置以及设置该站点的日期和工作人员。 NUMGB 列是在该站点捕获了多少只熊,GBIDSEX1 到 GBIDSEX8 提供了在该站点捕获的那些熊的个体标识符
df <- read.table(text= 'CELL SITE INSTCREW INSTDATE NUMGB GBIDSEX1 GBIDSEX2 GBIDSEX3 GBIDSEX4 GBIDSEX5 GBIDSEX6 GBIDSEX7 GBIDSEX8
1 1 DF/EJ 2000-06-02
2 1 DF/EJ 2000-06-02 3 F6514-001 M6514-012 F6514-023
3 1 DF/EJ 2000-06-02 1 SPTEST
4 1 DF/EJ 2000-06-02
5 1 DF/EJ 2000-06-02 1 M6643-015
6 1 DF/EJ 2000-06-02
7 1 DF/EJ 2000-06-02 1 M6514-012
8 1 DF/EJ 2000-06-02 2 F6566-001 M6509-005
9 1 DF/EJ 2000-06-02
10 1 DF/KP 2000-06-01 5 M6505-001 M6505-010 F6514-001 M6514-012 F6514-02 ' ,header=TRUE, sep=" ")
对于我想做的分析,我需要将每个熊的 ID 作为唯一的行,其中还包含站点、工作人员和日期信息。这是我希望数据看起来如何的示例:
CELL SITE INSTCREW INSTDATE NUMGB GBIDSEX
2 1 DF/EJ 2000-06-02 3 F6514-001
2 1 DF/EJ 2000-06-02 3 M6514-012
2 1 DF/EJ 2000-06-02 3 F6514-023
3 1 DF/EJ 2000-06-02 1 SPTEST
5 1 DF/EJ 2000-06-02 1 M6643-015
7 1 DF/EJ 2000-06-02 1 M6514-012
8 1 DF/EJ 2000-06-02 2 F6566-001
8 1 DF/EJ 2000-06-02 2 M6509-005
10 1 DF/KP 2000-06-01 5 M6505-001
10 1 DF/KP 2000-06-01 5 M6505-010
10 1 DF/KP 2000-06-01 5 F6514-001
10 1 DF/KP 2000-06-01 5 M6514-012
10 1 DF/KP 2000-06-01 5 F6514-023
我想剔除没有抓到熊的行,这可以通过子集函数轻松完成:
dfcull<-subset(df, NUMGB>0)
但我不确定如何为每个 GBIDSEX 创建唯一的行。有什么想法吗?
【问题讨论】: