Сначала strsplit строк, это дает вам список строковых векторов, затем переберите его, чтобы получить только первый элемент, и unlist, что:
temp$drug_name_mod <- unlist(lapply(strsplit(temp$drug_name, " "), function(x) x[1]))
sapply делает его немного проще:
temp$drug_name_mod <- sapply(strsplit(temp$drug_name, " "), function(x) x[1])
И вы можете использовать "[" напрямую с 1 в качестве аргумента вместо анонимной функции:
temp$drug_name_mod <- sapply(strsplit(temp$drug_name, " "), "[", 1)