Ваш подход strplit()
- хорошая идея, он дает:
strsplit(s, split=';', fixed=TRUE)
[[1]]
[1] "UNIV ZURICH" "NOTREPORTED" "NOTREPORTED" "NOTREPORTED"
[[2]]
[1] "UNIBG"
Чтобы получить то, что вы ищете, вам нужно извлечь первый элемент каждого элемента списка, который вы получили а затем объединить их, вот способ сделать это (кстати, fixed=TRUE
теперь требуется для этого примера).
s1 <- unlist(lapply(strsplit(s, split=';', fixed=TRUE), `[`, 1))
Ранее вы объединяли все элементы в один список:
unlist(strsplit(s, split=';', fixed=TRUE))
[1] "UNIV ZURICH" "NOTREPORTED" "NOTREPORTED" "NOTREPORTED"
[5] "UNIBG"
, а затем вы брали первый элемент этого вектора.