спасибо за ваше время.
Я выполняю некоторую обработку данных и использовал str_extract_all
из пакета stringr
для извлечения некоторых данных из столбца.Мой str_extract_all
вызов использовал некоторую логику регулярных выражений для извлечения соответствующей информации.
Однако str_extract_all
возвращает список.Мне нужно, чтобы этот список был преобразован в вектор, чтобы я мог включить этот вектор в свой фрейм данных в качестве нового столбца.
Ниже приведен воспроизводимый пример.Вот мой список, возвращаемый str_extract_all
:
example_list <- list("[10]",
"[44]",
c("[9]", "[32]", "[98]"),
NA,
"[93]")
example_list
выглядит так:
> example_list
[[1]]
[1] "[10]"
[[2]]
[1] "[44]"
[[3]]
[1] "[9]" "[32]" "[98]"
[[4]]
[1] NA
[[5]]
[1] "[93]"
Я бы хотел, чтобы этот список был преобразован в вектор такой же длины,Это мой желаемый вектор:
desired_vector <- c("[10]",
"[44]",
c("[9], [32], [98]"),
NA,
"[93]")
Этот вектор выглядит следующим образом.
> desired_vector
[1] "[10]" "[44]" "[9], [32], [98]" NA
"[93]"
Или, что эквивалентно, как бы он отображался во фрейме данных и не выводился на консоль,desired_vector
будет выглядеть так:
[10]
[44]
[9], [32], [98]
NA
[93]
Примечание. Запятые в desired_vector
запятые не нужны, пробелы или пробелы не подходят.
Я пробовал различные методыЯ нашел, в том числе unlist
и flatten
.Использование unlist
возвращает этот вектор not_desired:
not_desired_vector <- unlist(example_list)
Что выглядит следующим образом:
> not_desired_vector
[1] "[10]" "[44]" "[9]" "[32]" "[98]" NA "[93]"
Чтобы было ясно, я бы хотел, чтобы список возвращался как вектортой же длины, что и исходный список, где часть списка с тремя последовательными элементами возвращается не как три элемента вектора, а как одна символьная строка внутри одного элемента вектора.
Еще раз спасибоза ваше время - любой толчок в правильном направлении очень ценится.