0
我试图为子集中的值匹配条件的因子lepsp
的空白级别指定名称。数据的例子包括:根据数据框子集内的值匹配重命名因子的级别
df<-
plantfam lepfam lepsp lepcn
Asteraceae Geometridae Eois sp green/spikes
Asteraceae Erebidae Anoba sp green/nospikes
Asteraceae Erebidae green/nospikes
Melastomaceae Noctuidae Balsinae sp
Poaceae Erebidae Deinopa sp black/orangespots
Poaceae Erebidae black/orangespots
Poaceae Erebidae Cocytia sp black/yellowspots
Poaceae black/yellowspots
下面是以下数据框代码:
df<-data.frame(plantfam= c("Asteraceae","Asteraceae","Asteraceae",
"Melastomaceae","Poaceae","Poaceae","Poaceae","Poaceae"), lepfam=
c("Geometridae", "Erebidae","Erebidae",
"Noctuidae","Erebidae","Erebidae","Erebidae",""), lepsp= c("Eois sp",
"Anoba sp", "", "Balsinae sp", "Deinopa sp", "", "Cocytia sp", ""),
lepcn= c("green/spikes","green/nospikes", "green/nospikes","",
"black/orangespots", "black/orangespots", "black/yellowspots",
"black/yellowspots"))
如果lepsp
是空白的,但有一个lepcn
和lepcn
比赛另一个lepsp
在同一plantfam
为食, lepsp
的空白将被赋予lepsp
这些条件匹配的名称。因此,每个lepfam
子集饲喂相同的plantfam
与相同lepcn
将被指定为相同的名称。
output<-
plantfam lepfam lepsp lepcn
Asteraceae Geometridae Eois sp green/spikes
Asteraceae Erebidae Anoba sp green/nospikes
Asteraceae Erebidae Anoba sp green/nospikes
Melastomaceae Noctuidae Balsinae sp
Poaceae Erebidae Deinopa sp black/orangespots
Poaceae Erebidae Deinopa sp black/orangespots
Poaceae Erebidae Cocytia sp black/yellowspots
Poaceae Cocytia sp black/yellowspots
我曾尝试没有成功以下的变化: 与检查组合的益处https://stackoverflow.com/a/44479195/8061255
您能否提供一个数据集样本,以便我们能够生成可重现的解决方案? –
我在印象之下,上面是数据集的一个例子。我能提供什么可以进一步帮助?感谢您的时间。 – Danielle
我已经为示例数据框添加了代码,这可能是您要求的内容。再次感谢您的帮助。 – Danielle