Измените класс столбца со «списка» на … что-нибудь еще

#r

#r

Вопрос:

Я использовал приведенное ниже, чтобы разделить столбец (с именем ‘Cabin’), где объект содержал букву / номер, например C23, D48 и т. Д

 library(stringr)

cabintest$Cabin1 <- str_extract_all(cabintest$Cabin, "[0-9] ")

cabintest$Cabin2 <- str_extract_all(cabintest$Cabin, "[aA-zZ] ")
  

Результатом было два столбца:
Cabin1 с буквами, например ‘C’
Cabin2 с номерами, например ’23’

Однако все пустые ячейки были заполнены символом (0), и столбцы стали списками.

Как мне преобразовать их обратно во фреймы данных или классы столбцов, с которыми я могу работать, пожалуйста?

Комментарии:

1. Вы пробовали str_extract_all(cabintest$Cabin, "[0-9] ", simplify = TRUE) ?

2. Регулярное выражение "[aA-zZ] " неверно, оно должно быть "[A-Za-z] " или, что еще лучше, [[:alpha:]] " . (Для цифр, ну "[[:digits:]] " .)

3. Кроме того, я не могу повторить вашу ошибку, используя приведенные вами примеры. Если я использую «C23», «D48» и «», столбцы разделяются на обычные символьные векторы по желанию. Возможно, покажите нам воспроизводимый пример, включающий входные данные, которые воспроизводят проблему — иначе трудно понять, как кто-либо может помочь.