ich einen Datenrahmen mit Spezies haben, wie folgt aus:trennen, um eine Spalte in n-Ebenen Spalten in R
df <- data.frame("especie" = c("abies", "abies", "acacia", "acacia", "acacia"), "use"=c("ornamental", "wood", "wood", "medicine", "firewood"))
df
especie use
1 abies ornamental
2 abies wood
3 acacia wood
4 acacia medicine
5 acacia firewood
Ich will es "Spread", so dass es wie geht:
df2 <- data.frame("species"=c("abies", "acacia"), "use1"=c("ornamental", "wood"), "use2"=c("wood", "medicine"),
"use3"=c("", "firewood"), "use4"=c("", ""))
df2
species use1 use2 use3 use4
1 abies ornamental wood
2 acacia wood medicine firewood
Ich möchte keine Spalte mit dem Namen jedes Levels, also tut tidyr :: spread nicht, was ich will; wenn die Spezies nur eine "Verwendung" hat, sollte sie in "Use1" sein, ich habe keine Ahnung, wie das gemacht werden kann
es hat funktioniert, auch für diejenigen Arten mit 4 Anwendungen –