Tener un marco de datos como este:
data.frame(text = c("separate1: and: more","another 20: 42")
¿Cómo es posible separar usando el primero: en cada fila? Ejemplo de salida esperada
data.frame(text1 = c("separate1","another 20"), text2 = c("and: more","42")
Respuestas:
fuente
En la base , puede usar
regexpr
para encontrar la posición del primero:
que puede usarse para extraer subcadenas ytrimws
eliminar espacios en blanco.fuente
Se puede utilizar
str_split_fixed
destringr
paquete que va por división de valor en el primer delimitador, es decir,fuente
fuente
Usando tidyr :
fuente
Otra solución base R
tal que
fuente
Lo sentimos, @Sotos tiene razón, esto no es un duplicado. Aquí hay otra solución base que se divide en la primera aparición del delimitador.
Creado el 10/02/2020 por el paquete reprex (v0.2.1)
fuente
Pobre de edad
?utils::strcapture
nunca recibe ningún respeto:Insertado de nuevo:
fuente