Разделить строку в R по символу \

У меня есть столбец sr$classf в кадре данных sr со строкой, подобной иерархии servicegroup\service\servicerequest\. Я хочу разделить строку с символом strsplit() на \ и поместить разные части разделенной строки в дополнительные столбцы. Например, я создаю столбец sr.c7$service и помещаю первую часть перед \

 sr$service <- as.character(lapply(strsplit(as.character(sr$classf), split="\"), "[", 1))

Но R закомментирует весь код после split="\". Что мне делать, чтобы использовать \ в качестве параметра разделения?

Решение:

 sr$service <- as.character(lapply(strsplit(as.character(sr$classf), split="\\\\"), "[", 1))

person Mikhail Fedorenko    schedule 03.09.2015    source источник
comment
Авинаш, спасибо! Можешь объяснить логику? Может быть, вы можете предоставить ссылку на документы?   -  person Mikhail Fedorenko    schedule 03.09.2015
comment
В моем случае код решения выглядит следующим образом: sr$service ‹- as.character(lapply(strsplit(as.character(sr$classf), split=\\\\), [, 1))   -  person Mikhail Fedorenko    schedule 03.09.2015
comment
Каков ваш вклад и каков будет ожидаемый результат?   -  person Avinash Raj    schedule 03.09.2015


Ответы (1)


Используйте четыре символа обратной косой черты для соответствия одному символу обратной косой черты.

strsplit("foo\\bar", "\\\\")[[1]]
#[1] "foo" "bar"
person Avinash Raj    schedule 03.09.2015