我有一个数据集,其中包含鸟类的目、物种和各种性状数据。我正在尝试使其仅保留某些订单的数据。通常,当我按物种进行子集化时,我会合并数据集,以便只有具有相同行名称(即物种名称)的数据集保留在新数据框中,但似乎在使用 read.csv() 时行名称不能重复,并且由于订单名称会重复,因此我不能将它们作为行名称。那么我如何将其子集化,以便新数据框仅包含有关选定订单的信息?这是包含订单和物种的列的样子:
Order1 Species
Acanthagenys_rufogularis Passeriformes Acanthagenys_rufogularis
Acanthiza_apicalis Passeriformes Acanthiza_apicalis
Acanthiza_chrysorrhoa Passeriformes Acanthiza_chrysorrhoa
Acanthiza_lineata Passeriformes Acanthiza_lineata
Acanthiza_nana Passeriformes Acanthiza_nana
Acanthiza_pusilla Passeriformes Acanthiza_pusilla
Acanthiza_reguloides Passeriformes Acanthiza_reguloides
Acanthiza_uropygialis Passeriformes Acanthiza_uropygialis
Acanthorhynchus_tenuirostris Passeriformes Acanthorhynchus_tenuirostris
Accipiter_cirrocephalus Accipitriformes Accipiter_cirrocephalus
虽然前 10 行只包含 2 个目,但数据集包含 26 个禽目的信息,我只对雀形目、鸬鹚形目、鹦鹉形目和鸫形目感兴趣
假设您使用
bird_df
读入数据框后称为 read.csv()
,您可以使用以下方法对数据进行子集化,使其仅包含 Order1
等于 Passeriformes、Charadriiformes、Psittaciformes 或 Struthioniformes 的行:
subset_bird_df <- bird_df[bird_df$Order1 %in% c("Passeriformes", "Charadriiformes", "Psittaciformes", "Struthioniformes"),]