Расщепление колонны в R - PullRequest
       3

Расщепление колонны в R

0 голосов
/ 11 декабря 2018

Я использую фрейм данных, созданный из очищенных данных, который содержит символьный столбец.Я пытаюсь разбить его на две колонки, одна из которых содержит элементы перед "|"и другой, который содержит элементы после этого символа.

Столбец выглядит так:

 [1] " 45  cubiertos | 1 . "
 [2] " 5000  cubiertos "    
 [3] " 45  cubiertos | 1 . "
 [4] " 60  cubiertos | 2 . "
 [5] " 57  cubiertos | 1 . "
 [6] " 35  cubiertos "     
 [7] " 70  cubiertos | 2 . "        
 [8] " 50  cubiertos | 2 . "        
 [9] " 45  cubiertos | 2 . "        
[10] " 146  cubiertos | 4 . "  

Я пытался решить эту проблему с помощью этой команды (первый столбец показывает, сколько метров в квартире, а второй - количествокомнаты.)

reshape2::colsplit(alquileres_df$atributo,  "|" , names = c("metraje","dormitorios"))

Тем не менее, я получаю следующий вывод:

     metraje                   dormitorios
1         NA          45  cubiertos | 1 . 
2         NA              5000  cubiertos 
3         NA          45  cubiertos | 1 . 
4         NA          60  cubiertos | 2 . 
5         NA          57  cubiertos | 1 . 
6         NA                35  cubiertos 
7         NA          70  cubiertos | 2 . 
8         NA          50  cubiertos | 2 . 
9         NA          45  cubiertos | 2 . 
10        NA         146  cubiertos | 4 .

Кроме того, обратите внимание, что иногда база данных не имеет "|"символ, следовательно, второй элемент столбца может быть пустым.

Есть идеи, почему это происходит?как я могу решить это?

Спасибо!

1 Ответ

0 голосов
/ 11 декабря 2018

Попробуйте что-то вроде этого

x <- c(" 45  cubiertos | 1 . ",
" 5000  cubiertos "    ,
" 45  cubiertos | 1 . ",
" 60  cubiertos | 2 . ",
" 57  cubiertos | 1 . ",
" 35  cubiertos "     ,
" 70  cubiertos | 2 . "        ,
" 50  cubiertos | 2 . "        ,
" 45  cubiertos | 2 . "        ,
 " 146  cubiertos | 4 . ")

library(stringr)
str_split(x,"\\|", simplify = TRUE)

Это даст вам два столбца, где в первом столбце будет все до |, а во втором столбце все после.Для записей без | во втором столбце будет запись типа "".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...