programing

R: 목록에 있는 개체 수

css3 2023. 6. 9. 22:19

R: 목록에 있는 개체 수

목록에 있는 항목의 개수를 세고 반환할 수 있는 기능을 추천해주실 수 있나요?

library(stringr)

l <- strsplit(words, "a")

if(# number of items in list l < 1) 
  next

길이(x)

벡터(목록 포함)와 요인, 방법이 정의된 다른 R 개체의 길이를 가져오거나 설정합니다.

길이(x)

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

에 대한 조언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에서는 data.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

저는 이것을 알아내기 위해 많은 시간을 보냈지만 그것은 간단합니다!사용할 수 있습니다.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] 9

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

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

> sum(unlist(mylist))
[1] 45

언급URL : https://stackoverflow.com/questions/1740524/r-count-number-of-objects-in-list