Вместо того, чтобы циклически проходить по каждой строке, вы можете либо задать подмножество
function(set, threshold) {
set[calculateValue(set$Value) >= threshold, c("name", "value", "columnC")]
}
, либо использовать dplyr
, чтобы отфильтровать строки и выбрать столбцы, чтобы получить нужное подмножество.
library(tidyverse)
function(set, threshold) {
set %>%
filter(calculateValue(Value) >= threshold) %>%
select(name, value, columnC)
}
Затем присвойте результат новой переменной, если вы хотите новый фрейм данных
getValueOverThreshold <- function(set, threshold) {
set %>%
filter(calculateValue(Value) >= threshold) %>%
select(name, value, columnC)
}
newDF <- getValueOverThreshold(set, 0)
Возможно, вы захотите проверить https://r4ds.had.co.nz/transform.html