Я ищу способ разбить список векторов на основе именованного атрибута в векторе.Предположим, у меня есть именованный список с векторами:
> v <- list("1"=c(col1=1, col2="a", col3="!"), "2"=c(col1=2, col2="b", col3="@"), "3"=c(col1=3, col2="b", col3="#"), "4"=c(col1=4, col2="a", col3="$"))
> v
$`1`
col1 col2 col3
"1" "a" "!"
$`2`
col1 col2 col3
"2" "b" "@"
$`3`
col1 col2 col3
"3" "b" "#"
$`4`
col1 col2 col3
"4" "a" "$"
Я хотел бы выделить его, например, на основе значения col2
, поэтому в этом примере я хотел бы иметь 2 списка:
- 1-й список будет содержать все векторы, которые имеют
col2 = a
- 2-й список будет содержать все векторы, которые имеют
col2 = b
.
Я ищу вывод, похожий на следующий:
Для col2 = a
:
$`1`
col1 col2 col3
"1" "a" "!"
$`4`
col1 col2 col3
"4" "a" "$"
Для col2 = b
:
$`2`
col1 col2 col3
"2" "b" "@"
$`3`
col1 col2 col3
"3" "b" "#"
ПРИМЕЧАНИЕ : Я бы предпочел более обобщенное решение, которое группирует по col2, но двоичное решение будет в порядке, потому что в этом конкретном приложении у меня есть только 2 возможных значения для col2.