Количество объектов в списке [закрыто]
кто-нибудь знает функцию R, которая возвращает количество элементов в списке?
5 ответов:
советы
Rновички, как я: будьте осторожны, ниже приведен список один объект:> mylist <- list (1:10) > length (mylist) [1] 1в таком случае вы ищете не длину списка, а его первый элемент:
> length (mylist[[1]]) [1] 10это "истинный" список :
> mylist <- list(1:10, rnorm(25), letters[1:3]) > length (mylist) [1] 3кроме того, кажется, что
Rсчитает данные.кадр в виде списка:> df <- data.frame (matrix(0, ncol = 30, nrow = 2)) > typeof (df) [1] "list"в таком случае вас может заинтересовать
ncol()иnrow()а неlength():> ncol (df) [1] 30 > nrow (df) [1] 2хотя
length()также будет работать (но это трюк, когда ваши данные.рамка имеет только один столбец) :> length (df) [1] 30 > length (df[[1]]) [1] 2
Я потратил века, пытаясь понять это, но это просто! Вы можете использовать
length(·).length(mylist)скажет вам количество объектовmylistсодержит.... и только сейчас понял, кто-то уже ответил на это - извините!
давайте создадим пустой список (не обязательно, но полезно знать):
> mylist <- vector(mode="list")давайте положим в него некоторые вещи - 3 компонента / индекса / теги (все, что вы хотите назвать) каждый с различным количеством элементов:
> mylist <- list(record1=c(1:10),record2=c(1:5),record3=c(1:2))если вас интересует только количество элементов в списке:
> length(mylist) [1] 3если вас интересует длина элементов в определенном компоненте списка, используйте: (оба ссылаются на один и тот же компонент здесь)
length(mylist[[1]]) [1] 10 length(mylist[["record1"]] [1] 10если вас интересует длина всех элементов во всех компонентах списка используйте:
> sum(sapply(mylist,length)) [1] 17
вы также можете использовать
unlist(), что часто полезно для обработки списков:> mylist <- list(A = c(1:3), B = c(4:6), C = c(7:9)) > mylist $A [1] 1 2 3 $B [1] 4 5 6 $C [1] 7 8 9 > unlist(mylist) A1 A2 A3 B1 B2 B3 C1 C2 C3 1 2 3 4 5 6 7 8 9 > length(unlist(mylist)) [1] 9unlist () - это простой способ выполнения других функций в списках, таких как:
> sum(mylist) Error in sum(mylist) : invalid 'type' (list) of argument > sum(unlist(mylist)) [1] 45