Связать строки определенных строк, которые находятся в матрицах в списках в R - PullRequest
0 голосов
/ 18 декабря 2018

Я хотел бы привязать строки к определенным строкам, которые являются строками в матрицах списка.Например, у меня может быть список, в котором есть три матрицы, например:

> t

[[1]]
     [,1] [,2]
[1,]    1    3
[2,]    2    4

[[2]]
     [,1] [,2]
[1,]    5    7
[2,]    6    8

[[3]]
     [,1] [,2]
[1,]    9   11
[2,]   10   12

Тогда я хотел бы рассчитать расстояния между строками этих матриц, поэтому, если бы я мог просто написатьout

dist(rbind(t[[1]][1,], t[[2]][1,], t[[3]][1,]))
dist(rbind(t[[1]][2,], t[[2]][2,], t[[3]][2,]))

Но в моем случае я мог бы иметь гораздо большие матрицы и большие списки, поэтому мне было интересно, есть ли способ связать строки с соответствующими строками матриц в списке более быстрым способом?

Большое спасибо за любую помощь!

1 Ответ

0 голосов
/ 18 декабря 2018

Конечно, если l является вашим списком, мы можем использовать, например, sapply следующим образом:

t(sapply(l, `[`, 1,))
#      [,1] [,2]
# [1,]    1    3
# [2,]    5    7
# [3,]    9   11

, что коротко для

t(sapply(l, `[`, i = 1, j =))

или

t(sapply(l, function(ll) ll[1, ]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...