1
У меня есть фрейм данных.Выбор значений из столбца на основе значения из другого столбца, определяемого динамически
df <- data.frame(A = 1:10, B = 101:110, C = 201:210)
И я хочу, чтобы найти значения в столбце A, используя следующие критерии,
df$A[df$B > 101 & df$B < 105]
[1] 2 3 4
Однако, я хочу, чтобы иметь возможность задавать критерии программно, используя следующий подход,
var <- noquote(paste0("df$", names(df[2])))
df$A[var > 101 & var < 105]
Но все, что я получаю, это integer(0)
.
Очевидно, что-то не так. Может ли кто-нибудь помочь? Спасибо.
Почему вы хотите, чтобы пройти через этот подход? – akrun
akrun, я намерен перебирать конкретные столбцы в этом фрейме данных и извлекать значения из столбца A, соответствующие критериям. – useryk
Один из вариантов - 'get', если вы ссылаетесь на' var <- names (df) [2]; библиотека (data.table); setDT (df) [get (var)> 101 & get (var) <105] $ A # [1] 2 3 4' – akrun