получить доступ к элементам данных в списке? - PullRequest
1 голос
/ 26 января 2020

Я новичок в R, пытаюсь понять, как получить доступ к элементам моего информационного кадра, когда я добавляю их в список.

Я могу получить доступ к элементам информационного кадра в обычном режиме, но не могу сделать то же самое когда я добавляю фрейм данных в список. Как мне это сделать? Спасибо

abc <- rbind(presence[2,], presence[6,], presence[9,])
bca <- rbind(presence[5,], presence[7,], presence[10,])
cab <- rbind(presence[4,], presence[8,], presence[12,])

abc[1,7] #works

sets <- list(abc, bca, cab)
sets$abc[1,7] #returns NULL

1 Ответ

2 голосов
/ 26 января 2020

Нет

sets$abc

, так как list без имени

Нам нужно name это

names(sets) <- c('abc', 'bca', 'cab')

Или при создании list использование

sets <- list(abc = abc, bca = bca, cab = cab)

При purrr присвоение имен автоматически выполняется с помощью lst

sets <- purrr::lst(abc, bca, cab)

или использование dplyr::lst

sets <-  dplyr::lst(abc, bca, cba)

Вместо извлечения каждого элемента по одному, это также можно сделать с помощью lapply/sapply

lapply(sets, `[`, 1, 7)

или с помощью sapply для возврата vector

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