me gustaría tomar los datos de la formadividir una columna de una trama de datos de varias columnas
before = data.frame(attr = c(1,30,4,6), type=c('foo_and_bar','foo_and_bar_2'))
attr type
1 1 foo_and_bar
2 30 foo_and_bar_2
3 4 foo_and_bar
4 6 foo_and_bar_2
y utilizar split()
en la columna "type
" de arriba para obtener algo como esto:
attr type_1 type_2
1 1 foo bar
2 30 foo bar_2
3 4 foo bar
4 6 foo bar_2
Se me ocurrió algo increíblemente complejo que implicaba alguna forma de apply
que funcionó, pero desde entonces he extraviado eso. Parecía demasiado complicado para ser la mejor manera. Puedo usar strsplit
como a continuación, pero no estoy claro cómo volver a poner eso en 2 columnas en el marco de datos.
> strsplit(as.character(before$type),'_and_')
[[1]]
[1] "foo" "bar"
[[2]]
[1] "foo" "bar_2"
[[3]]
[1] "foo" "bar"
[[4]]
[1] "foo" "bar_2"
Gracias por cualquier punteros. Todavía no he comido completamente las listas de R.
esto funcionó bastante bien para mi problema hoy también ... pero estaba agregando una 'c' al principio de cada fila. ¿Alguna idea de por qué es eso? 'left_right <- str_split_fixed (as.character (split_df), '\">', 2) ' – LearneR
Me gustaría dividirme con un patrón que tiene" ... ", cuando aplico esa función, no devuelve nada. podría ser el problema. Mi tipo es algo así como "puntaje de prueba ..." – user3841581
@ user3841581 - una vieja consulta tuya lo sé, pero esto está cubierto en la documentación - 'str_split_fixed (" aaa ... bbb ", fixed (" ... "), 2)' funciona bien con 'fixed()' para "Coincidir con una cadena fija" en el argumento 'pattern ='. '.' significa 'cualquier caracter' en la expresión regular. – thelatemail