Utknąłem na niewielkim problemie i nie znalazłem odpowiednich wyszukiwanych terminów. Mam litery od "A" - "N" i chcę zastąpić te większe od "G" literami "A" - "G" zgodnie z ich pozycją w alfabecie. przy użyciu gsub
, ponieważ wydaje się to uciążliwe. Czy istnieje regex, który może zrobić to mądrzej?Litery zastępcze z odpowiednim zestawem liter
k <- rep(LETTERS[1:14],2)
gsub(pattern="H", replace="A", x=k)
gsub(pattern="I", replace="B", x=k)
gsub(pattern="J", replace="C", x=k)
gsub(pattern="K", replace="D", x=k)
# etc.
tam nie jest jakiś sposób mogę przekonwertować te znaki do liczby całkowitej, a następnie po prostu obliczyć ciągu liczb całkowitych, a potem rzucając z powrotem? Czy istnieje jakaś odwrotność LISTÓW? as.numeric()
i as.integer()
zwraca NA
.
Jak już zapewne wywnioskował z sugerowanych odpowiedzi, 'match' jest szukanym' as.numeric' 'match (c (" A "," S "," K "), LISTY) return {1, 19, 11}. – A5C1D2H2I1M1N2O1R2T1
Tak, dziękuję. match() Muszę pamiętać. Tyle nowych rzeczy i prawie zawsze zapominam o czymś, co spotkałem wcześniej. Chociaż mecz jest dla mnie całkiem nowy. – Sebastian