Один вариант будет использовать split.default
в базе R. Сначала мы подставим строку, где SampleID
равно "Value3"
, сравним значение с 4 и получим список из двух кадров данных, один со значением больше 4, а другой со значением меньшечем 4.
split.default(df[-1], df[df$SampleID == "Value3", -1] > 4)
# B E F
#1 3 9 2
#2 1 6 1
#3 3 3 2
#$`TRUE`
# A C D
#1 8 4 8
#2 8 7 7
#3 9 5 8
данные
df <- structure(list(SampleID = structure(1:3, .Label = c("Value1",
"Value2", "Value3"), class = "factor"), A = c(8L, 8L, 9L), B = c(3L,
1L, 3L), C = c(4L, 7L, 5L), D = c(8L, 7L, 8L), E = c(9L, 6L,
3L), F = c(2L, 1L, 2L)), class = "data.frame", row.names = c(NA, -3L))