У меня есть кадр данных, и я хочу извлечь строки, в которых конкретные столбцы имеют определенное значение. Имена столбцов хранятся в массиве символов, а значения хранятся в списке.Динамическая индексация кадра данных по имени столбца
data <- data.frame(A=c("a","b","b"), B=c(1,2,2), C=(3,3,4))
column_key <- c("A", "B")
value_key <- list("b", 2)
Очевидно, что я могу извлечь информацию, которую я хочу простой индексации, если я жёстко имена столбцов ключей:
desired_rows <- data[data$A=="b" & data$B==2,]
desired_rows =
A B C
2 b 2 3
3 b 2 4
Но как я делаю это, если имена столбцов хранятся в переменных , В идеале это было бы примерно так:
key <- value_key
names(key) <- column_key
desired_rows <- data[key,]
Но я не могу индексировать data.frame со списком.
Подождите, так что вы ответили на свой вопрос, прежде чем задавать его? Или вы все еще ищете решение? – nrussell
@nrussell Это воодушевляет. Основная цель SO - не помогать OP, а создавать ресурс для других. – Roland
@Roland Хорошо, я не был уверен в этикете, но я просмотрел его на Meta stack exchange. Спасибо. – nrussell