Рассмотрим следующую ситуацию, когда у меня есть список n матриц (это только фиктивные данные в примере ниже) в объекте myList
mat <- matrix(1:12, ncol = 3)
myList <- list(mat1 = mat, mat2 = mat, mat3 = mat, mat4 = mat)
Я хочу выбрать конкретный столбец из каждой из матриц и сделать с ним что-то. Это даст мне первый столбец каждой матрицы и вернет его как матрицу (lapply()
предоставит мне список либо отлично).
sapply(myList, function(x) x[, 1])
То, что я не могу сделать, это использовать [
непосредственно как функцию в моих заклинаниях sapply()
или lapply()
. ?'['
говорит мне, что мне нужно указать аргумент j
в качестве идентификатора столбца. Так что я делаю неправильно, что это не работает?
> lapply(myList, `[`, j = 1)
$mat1
[1] 1
$mat2
[1] 1
$mat3
[1] 1
$mat4
[1] 1
Где бы я ожидал этого:
$mat1
[1] 1 2 3 4
$mat2
[1] 1 2 3 4
$mat3
[1] 1 2 3 4
$mat4
[1] 1 2 3 4
Я подозреваю, что получаю неправильный метод [
, но я не могу понять почему? Мысли?