Я пытаюсь извлечь индексы большой матрицы на основе grepping двух отдельных строк.Лучший способ добиться чередования в версии R grep?
Пример матрица может выглядеть следующим образом:
a=as.matrix(c("a","b","c"))
a=cbind(a,c("yes", "no", "maybe"))
rownames(a)=c("one", "two","three")
colnames(a)=c("letter", "status")
Оба эти работы:
grep("letter", colnames(a))
grep("status", colnames(a))
я хотел, чтобы это работало, но это не делает:
grep("letter"|"status", colnames(a))
Самый простой способ собрать как grep просто конкатенирование их в вектор, или что-то, что мы можем сделать в функции grep ?:
cols_to_get= c(grep("letter", colnames(a)), grep("status", colnames(a)))
это помогает? http://stackoverflow.com/questions/33695462/r-filter-a-column-which-contains-several-keywords – rawr
Я думаю, что это указывает, что это уже было задано раньше, и что в вашем случае ' grep («letter | status», colnames (a)) 'будет работать. – RHertel