Рассмотрим следующую ситуацию, когда у меня есть список из 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
Я подозреваю, что у меня неправильный [
метод, но я не могу понять, почему? Мысли?