Dividir una cadena de marco de datos según un \

Chris Ewanik

Estoy tratando de dividir una columna de cadena en mi marco de datos en dos columnas diferentes basadas en un archivo. Mis datos se ven así:

     Rk Player  Season   Age Tm    Lg       WS     G    GS    MP    FG   FGA  `2P` `2PA`  `3P` `3PA`    FT   FTA   ORB   DRB   TRB   AST   STL   BLK   TOV    PF
  <dbl> <chr>   <chr>  <dbl> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1     1 "LeBro~ 2010-~    26 MIA   NBA    15.6    79    79  3063   758  1485   666  1206    92   279   503   663    80   510   590   554   124    50   284   163
2     2 "Pau G~ 2010-~    30 LAL   NBA    14.7    82    82  3037   593  1120   592  1117     1     3   354   430   268   568   836   273    48   130   142   203

La columna que he intentado manipular es la columna 'Jugador'. Las entradas de esa columna se ven así.

"LeBron James\\jamesle01"        "Pau Gasol\\gasolpa01"           "Dwight Howard\\howardw01"

Quiero que se divida en dos columnas pName y pID

pName            pID

LeBron James    jamesle01
Pau Gasol       gasolpa01
Dwight Howard   howardw01

He intentado usar gsub, sub, str_replace, y separateno he sido capaz de averiguar

player_stats2010 %>%
+   str_replace(Player,"\\\.*","")
player_stats2010 %>%
+   sub("\\\", "", player_stats2010$Player)
player_stats2010 %>%
+   sub("\.*", "", player_stats2010$Player)
player_stats2010 %>%
+   gsub("\.*", "", player_stats2010$Player)
player_stats2010_test <- player_salaries_2010 %>%
+   separate(Player, c("pName", "pID"), "\")

Realmente no entiendo la sintaxis de esta pregunta a pesar de buscar en línea y en varias otras preguntas. Si pudiera ayudarme a entender lo que no entiendo, sería fantástico. Muchas gracias :)

G. Grothendieck

1) read.table Uso xde la nota al final y solo uso base R read.tablecomo se muestra:

read.table(text = x, sep = "\\", col.names = c("pName", "pID"))

dando:

          pName       pID
1  LeBron James jamesle01
2     Pau Gasol gasolpa01
3 Dwight Howard howardw01

2) tidyr

Con tidyr podríamos hacer esto:

library(tidyr)
data.frame(x) %>%
  separate(x, c("pName", "pID"), sep = r"{\\}")

Nota

Se supone que la entrada es:

x <- c("LeBron James\\jamesle01", "Pau Gasol\\gasolpa01", "Dwight Howard\\howardw01")

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Cómo dividir una cadena en dos cadenas según el delimitador en un marco de datos

Cómo dividir una cadena en dos cadenas según el delimitador en un marco de datos

Agrupar y dividir datos de una sola columna de un marco de datos de Pandas según el tipo de datos (flotante, Nan, cadena)

Dividir un marco de datos en subcuadros de datos según los valores de una columna

Dividir una columna de cadena de marco de datos en varias columnas sin un patrón

Dividir un marco de datos según la condición

Dividir una lista de marcos de datos en varias listas según un factor en cada marco de datos

dividir el marco de datos de pandas según el valor de la columna de cadena

Dividir elementos enésimos en una cadena en un marco de datos de pandas

¿Cómo dividir un marco de datos de cadenas en varias columnas según una lista de índices con pandas?

¿Cómo dividir un marco de datos de cadenas en varias columnas según una lista de índices con pandas?

Dividir el marco de datos en dos subcuadros de datos según la cadena de valores de columna en R

Dividir una cadena por el número de caracteres en una columna de un marco de datos para crear varias columnas en R?

Cómo separar un marco de datos según una cadena específica en el nombre de la columna

¿Cómo dividir una fila por una longitud de cadena específica en un marco de datos en Python?

Dividir el marco de datos en varios marcos de datos en función de si la fila contiene una cadena

Dividir el marco de datos en varios marcos de datos en función de si la fila contiene una cadena

Dividir texto en columnas del marco de datos según parte de un patrón

Dividir columna de marco de datos de pandas según un valor

Cómo dividir un marco de datos de pandas según el prefijo de columna

¿Cómo dividir un marco de datos cada vez que cambia un valor de cadena en una columna?

¿Cómo dividir un marco de datos cada vez que cambia un valor de cadena en una columna?

Use python regex para dividir una columna de cadena para crear nuevas columnas de un marco de datos en Python

Dividir el marco de datos por la mitad según una columna en R

dividir el marco de datos según la condición

dividir el marco de datos según la condición

Actualizar una cadena en una columna según las condiciones de una función en un marco de datos de Pandas

Organizar un marco de datos: dividir una columna en tres

Organizar un marco de datos: dividir una columna en tres

TOP Lista

CalienteEtiquetas

Archivo