목록에있는 개체 수 계산 [닫힘]


99

목록의 항목 수를 반환하는 R 함수?

답변:


170

길이 (x)

벡터 (목록 포함)와 인자 및 메서드가 정의 된 다른 R 개체의 길이를 가져 오거나 설정합니다.

길이 (x)

목록 또는 원자 벡터 (is.atomic)의 각 요소의 길이를 정수 또는 숫자 형 벡터로 가져옵니다.


85

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

또한 Rdata.frame을 목록으로 간주하는 것 같습니다 .

> 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()작동하지만 data.frame에 열이 하나만있는 경우에는 트릭입니다.

> length (df)
[1] 30
> length (df[[1]])
[1] 2

12

나는 이것을 알아 내려고 오랜 세월을 보냈지 만 간단합니다! 사용할 수 있습니다 length(·). 포함 된 length(mylist)개체의 수를 알려줍니다 mylist.

... 누군가가 이미 대답했다는 것을 깨달았습니다. 죄송합니다!


9

빈 목록을 만들어 봅시다 (필수는 아니지만 알아두면 좋습니다).

> 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

7

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] 9

unlist ()는 다음과 같이 목록에서 다른 함수를 실행하는 간단한 방법입니다.

> sum(mylist)
Error in sum(mylist) : invalid 'type' (list) of argument

> sum(unlist(mylist))
[1] 45
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.