Фильтрация таблиц с определенными именами строк и столбцов - PullRequest
0 голосов
/ 23 июня 2011

У меня есть несколько сотен таблиц 2 * 2, как показано ниже:

$`345`
   N S
N 10 7
K  3 3

$`359`
  N S
P 7 4
S 2 2

Но мне нужно только выбрать таблицы, которые имеют "N" в строке и имени.Как я могу это сделать, если не сработало ...

1 Ответ

4 голосов
/ 23 июня 2011

Вы можете сделать эту работу:

> n <- c("M", "N", "O")
> # create a sample data set
> m <- lapply(1:10, function(i)matrix(sample(4), 2, 2, dimnames=list(n[sample(3,2)], n[sample(3,2)])))
> names(m) <- paste(1:10)
> # looks like this
> m
$`1`
  N M
O 1 3
M 2 4

... snip ...

$`10`
  M O
M 1 3
N 4 2

> 
> # filter it
> r <- Filter(function(x) all(sapply(dimnames(x), function(x)"N" %in% x)), m)
> r
$`2`
  M N
O 4 2
N 1 3

$`4`
  O N
N 1 3
O 2 4

$`5`
  M N
N 4 3
O 1 2

$`7`
  M N
O 4 1
N 3 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...