Um einen Teil eines Datensatzes zu säubern, muss ich eine Spalte in mehrere trennen. Diese Daten nimmt die Form ähnlich wie diese:Unordentliche Daten in R - ODK Aufräumen trennen
set.seed(2133)
df <- data.frame(a = paste(sample(1:9, 5, replace=T), sample(c("", "%2", "%3"), 5, replace=T), sample(c("", "%3", "%4"), 5, replace=T), sep=""))
df
a
1 6
2 2%3%4
3 6%2
4 3%2
5 5%2%4
Tidyr die separate Funktion tun wird nicht den Job und die beste Idee, die ich habe, ist eine Reihe von ifelse Aussagen, wie folgt aus:
df$One <- ifelse(grepl("1", df$a) == T, 1, 0)
df$Two <- ifelse(grepl("2", df$a) == T, 1, 0)
a One Two
1 6 0 0
2 2%3%4 0 1
3 6%2 0 1
4 3%2 0 1
5 5%2%4 0 1
Was ist der beste Weg, über solche Aufräumarbeiten zu gehen. Ich bin mir sicher, dass viele Leute, die mit Open Data Kit (ODK) für die Datenerfassung arbeiten, darauf stoßen werden.
Ich mag Basisversion. Schöne Optionen. – Simon