Peço desculpas se já foi perguntado, mas estou tentando "mudar" a ordem dos dígitos dos números em um vetor.
Tomemos como exemplo este vetor:
vector = c("5213456","17235896","23731074")
Eu gostaria de ter resultados da seguinte forma:
"1234556","12356789","01233477"
Eu sei que é um pouco estranho perguntar isso, mas tenho combinações de números em uma coluna do meu dataframe e localizei alguns casos duplicados, mas não podem ser filtrados com uma função simples () ou outra coisa, pois os dígitos não são ordenados da mesma forma. caminho.
Muito obrigado.
Na base R, você poderia
split
, entãosort
, colar tudo junto.strsplit
cria uma lista, então uselapply
ousapply
para iterar por ela:Entre as respostas, parece
lapply
evapply
é a mais rápida nos dados de exemplo, mas em vetores mais longos as coisas parecem se equilibrar:Na base R:
Eu diria isso:
Curto, mas não mais eficiente
ou pode ser um pouco mais rápido
Se você quiser entender como funciona, aqui você pode seguir os passos
a saída é a seguinte