Мне нужно установить набор данных на основе столбца эталонных значений.Например, учитывая набор данных:
col1 <- c(1,2,3,4)
col2 <- c(1,2,-1,4)
col3 <- c(1,2,-3,-4)
col_Reference <- c(-5,6,-7,8)
df <- cbind(col1,col2,col3,col_Reference)
df
col1 col2 col3 col_Reference
[1,] 1 1 1 -5
[2,] 2 2 2 6
[3,] 3 -1 -3 -7
[4,] 4 4 -4 8
Я хотел бы отфильтровать эти строки в зависимости от значения в col_Reference.Если значение больше 0, я хочу сохранить строку, только если каждое значение также больше 0. Вместо этого, если значение меньше 0, я хочу сохранить строку только, если каждое значение также меньше 0. Допустимое значение 0несоответствие Я хотел бы получить обратно:
col1 col2 col3 col_Reference
[1,] 2 2 2 6
Тогда я также хотел бы контролировать, сколько разрешено несоответствие: Разрешение на макс. 1 несоответствие я должен иметь обратно:
col1 col2 col3 col_Reference
[1,] 2 2 2 6
[2,] 3 -1 -3 -7
разрешениепри максимуме 2:
col1 col2 col3 col_Reference
[1,] 2 2 2 6
[2,] 3 -1 -3 -7
[3,] 4 4 -4 8
Полагаю, мне следует использовать apply()
, но я должен признать, что я не очень хорош в его использовании: (
Большое спасибо