В моем кадре данных у меня есть некоторые полуструктурированные данные в столбце.Разделить столбец в R
df
col1
a|b|c
a b1|b|c
a & b2|b|c 3
из этого dataframe$col1
Я хочу, чтобы извлечь только первое слово, прежде чем «|».
Я попытался с помощью этого
df$col2 <- unlist(strsplit(as.character(df$a),"[|]"))[[1]][1]
но результат имел такое же значение «а» по всем строкам. Почему это и как с этим справиться?
Благодаря
Что вы ожидаемый результат? Возможно, 'library (stringr); str_extract (df $ col1," [[: alnum:]] + (? = \\ |) ")' – akrun
'library (tidyr); df%>% separate (col1, into = 'col2', sep = '\\ |', extra = 'drop', remove = FALSE) ' – alistaire
Возможный дубликат [Разделение элемента столбца на 3 отдельных столбца (R)] (http://stackoverflow.com/questions/25194174/separating-a-column-element-into-3-separate-columns-r) – alistaire