#r #regex
#r #регулярное выражение
Вопрос:
У меня есть файл A.tsv :
Sample
418641
NC
648464
PC
CQ POS 23.09
476844
Я хочу присвоить вектору только значение со 100% от целого числа. NC и PC всегда присутствуют, поэтому я легко их удаляю, но для «CQ POS 23.09» он может измениться на «CQ POS 30.09», поэтому я пробую некоторые регулярные выражения.
Я пытаюсь выполнить команду:
sample_list3=unique(a$Sample)[which( unique(a$Sample) != "NC" amp; unique(a$Sample) != "PC" amp; unique(a$Sample) != grep("^QC"),a$Sample)]
но у меня ошибка :
Error in grep("^QC") : argument "x" is missing
Может ли у кого-нибудь быть другое решение, отличное от grep?
Ответ №1:
Вы можете возвращать значения, в которых есть только целые числа.
result <- as.integer(grep('^\d $', a$Sample, value = TRUE))
result
#[1] 418641 648464 476844
данные
a <- structure(list(Sample = c("418641", "NC", "648464", "PC", "CQ",
"POS", "23.09", "476844")), class = "data.frame", row.names = c(NA, -8L))
Ответ №2:
Мы можем просто преобразовать numeric
и удалить элементы NA
na.omit(as.numeric(a$Sample))