Несколько способов сделать это. В дополнение к уже предложенному базовому методу R можно использовать data.table
или dplyr
data.table
Использовать условную замену на :=
(обновление по ссылке)
dt <- data.table::as.data.table(pca.data)
dt[grepl("DMSO", get('sample')), Type := "DMSO"]
Приведенный выше фрагмент выполняет назначение. Если вы хотите визуализировать вывод: dt[]
dplyr
Вы можете использовать dplyr::if_else
в этом случае
pca.data %>% dplyr::mutate(Type = if_else(grepl("DMSO", sample), 'DMSO', sample)