【发布时间】:2018-03-05 13:49:34
【问题描述】:
我正在尝试在我的数据框中生成一个列,假设它称为“状态”,它应该提供鱼的状态,即受保护或不受保护。
我在寻找什么:
ID Species Status
1 1 Epinephelus polyphekadion Protected
2 2 Epinephelus tukula Protected
3 3 Thunnus albacares Protected
4 4 Sphyraena barracuda Unprotected
5 5 Lutjanus rivulatus Unprotected
6 6 Lethrinus lentjan Unprotected
7 7 Plectropomus pessuliferus Protected
我的数据:
fishydata <- structure(list(ID = 1:7, Species = structure(c(1L, 2L, 7L, 6L,4L, 3L, 5L), .Label = c("Epinephelus polyphekadion", "Epinephelus tukula","Lethrinus lentjan", "Lutjanus rivulatus", "Plectropomus pessuliferus","Sphyraena barracuda", "Thunnus albacares"), class = "factor"), .Names = c("ID", "Species"), row.names = c(NA, 7L), class = "data.frame")
数据集包含超过 1000 个观测值。它们是一行代码,可以将特定物种与新列中的状态联系起来。
我有 40 多个物种,其中 7 个受到保护。我希望为这 7 个物种提供“受保护”状态,并将其他所有内容都视为“不受保护”,而不是输入所有物种名称并将它们归类为“不受保护”
任何指针或建议将不胜感激。我的技能是基本的,试图回到 R。我一直在使用 mutate 和 filter 涉足 dplyr,但我已经到达了一堵砖墙。
【问题讨论】:
-
你能澄清你的输入是什么吗?您的数据似乎已经具有您正在寻找的因素..
-
如果您有受保护物种的查找表,则可以使用 join。
-
@DanHall 抱歉,我将更新并删除受保护的列。 Cédric Miachon 的答案是我正在努力实现的目标,也许在一个班轮中是可能的。