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