Вы можете попробовать which
.Используя данные из @RuiBarradas:
set.seed(1234)
recordings <- data.frame(V1 = sample(LETTERS, 10),
V2 = sample(LETTERS, 10),
V3 = letters[1:10], stringsAsFactors = FALSE)
records <- function(recordings, string){
rws <- which(recordings == string, arr.ind = TRUE)[,1]
cls <- which(recordings == string, arr.ind = TRUE)[,2]
recordings <- recordings[rws, -cls, drop = FALSE]
return(recordings)
}
Для A
, будет возвращено:
records(recordings, "A")
V2 V3
7 F g
Для X
:
records(recordings, "X")
V3
4 d
5 e
Это предполагает, чтозначение отсутствует во всех столбцах.
Если вам нужно знать только соответствующие значения строки:
records <- function(recordings, string){
return(which(recordings == string, arr.ind = TRUE)[,1])
}
records(recordings, "X")
[1] 4 5