mam ten dataframe, wygląda to tak:podciągu, Pad i wklej Kolumny w Dataframe bez Loop
muszę wziąć pierwszy znak z kolumny na, całą wartość w , po czym ustaw na końcu licznik, który zwiększa się dla powtórzeń w kolumnie. Ten licznik musi zawsze mieć długość trzech. Wynik końcowy jest taki:
Więc nic tutaj, że dramatyczny, udało mi się zrobić to z następującego kodu (przygotowanie pod wrażeniem):
library(stringr)
tk <- ""
for (i in 1:nrow(df)){
if (tk == df$an[i]){
counter <- counter + 1
} else {
tk <- df$an[i]
counter <- 1
}
df$ap[i] <- counter
}
df$ap <- paste0(substr(df$at, 1, 1), df$an, str_pad(df$ap, 3, pad="0"))
I tak nie jestem zadowolony z tej klęski. Wydaje mi się, że nie jest to bardzo "R" i bardzo bym tego nie chciał, aby ujrzeć światło dzienne. Jak mogę zrobić to bardziej "R"?
Doceniam poradę.
Czy możesz opublikować wyjście 'dput (DF)' dla przykładu z pięcioma wierszami? – Frank
Wszystkie te odpowiedzi pomagają mi lepiej zrozumieć prawdziwe r. Nauczę się technik dla każdego z nich. Ale kto dostaje upragnioną "odpowiedź"? Jestem skłonny po prostu iść z najbardziej upvotes, ponieważ wszystkie są świetne ... i dplyr wygrywa. – DieselBlue