У меня есть фактор с несколькими уровнями, и я пытаюсь получить количество уровней, в которых уровни факторов содержат заданную строку.Подсчитайте количество уровней факторов, соответствующих строке символов в R
Учитывая этот фактор:
exdata <- factor(c("Test1","Test2","Sample1","Sample2","Test1","Test2","Sample3"))
Я хочу, чтобы найти число уровней в exdata, содержащих «образец» или «Тест».
Мое решение до сих пор было использовать nlevels
, droplevels
и grep
:
nlevels(droplevels(exdata[grep("Test",exdata)]))
# Correct/intended answer is 2
nlevels(droplevels(exdata[grep("Sample",exdata)]))
# Correct/intended answer is 3
Есть более краткий способ сделать это?
Спасибо! Я поеду с этим, а не с вашим комментарием, в интересах удобочитаемости для тех, кто в моем проекте менее разбирается в регулярном выражении: P Я соглашусь, когда откроется окно. – dd3