cbind a 루프 R을 사용하여 빈 행렬을 만드는 방법

user3341953

R의 각 단계에 대해 생성 된 행렬을 cbind하고 싶습니다. 초기 빈 행렬을 만드는 방법은 matlab에서 result = []이고 각 반복에 대해 cbind입니까?

Bdemarest

cbind루프에서 사용 하는 것은 매우 느립니다. 크기를 미리 알고 있다면 행렬을 미리 할당하고 루프의 열을 채울 수 있습니다. 그렇지 않으면 list. 빈 목록을 만들고 루프의 목록에 벡터를 추가합니다. 그런 다음 루프가 완료된 후 목록을 행렬로 cbind합니다.

타이밍 :

Preallocate matrix:
   user  system elapsed 
  1.024   0.064   1.084

Grow matrix with cbind:
   user  system elapsed 
 76.036  50.146 125.840

Preallocate list:
   user  system elapsed 
  0.788   0.040   0.823

Grow list by indexing:
   user  system elapsed 
  0.821   0.043   0.859 

암호:

# Preallocate matrix.
f1 = function(x) {
    set.seed(2718)
    mat = matrix(ncol=x, nrow=x)
    for (i in 1:x) {
        mat[, i] = rnorm(x)
    }
    return(mat)
}

# Grow matrix with cbind.
f2 = function(x) {
    set.seed(2718)
    mat = c()
    for (i in 1:x) {
        mat = cbind(mat, rnorm(x))
    }
    return(mat)
}

# Preallocate list.
f3 = function(x) {
    set.seed(2718)
    lst = vector("list", length=x)
    for (i in 1:x) {
        lst[[i]] = rnorm(x)
    }
    res = do.call(cbind, lst)
    return(res)
}

# Grow list by indexing.
f4 = function(x) {
    set.seed(2718)
    lst = list()
    for (i in 1:x) {
        lst[[i]] = rnorm(x)
    }
    res = do.call(cbind, lst)
    return(res)
}

x = 3000

system.time(r1 <- f1(x))
system.time(r2 <- f2(x))
system.time(r3 <- f3(x))
system.time(r4 <- f4(x))

all.equal(r1, r2)
all.equal(r1, r3)
all.equal(r1, r4)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

R 루프 함수를 사용하여 행렬을 만드는 방법

분류에서Dev

for 루프를 사용하여 행렬을 채우는 방법

분류에서Dev

R에서 루프를 사용하여 n 행렬을 생성하는 방법

분류에서Dev

루프를 사용하여 사전을 만드는 방법?

분류에서Dev

for 루프를 사용하여 행렬의 행 평균을 계산하는 방법

분류에서Dev

foreach 루프를 사용하여 HTML을 만드는 방법

분류에서Dev

루프를 사용하여 배열을 만드는 방법

분류에서Dev

awk를 사용하여 for 루프와 배열을 사용하여 파일의 행을 재정렬하는 방법

분류에서Dev

R에서 빈도 열을 다루는 그래프를 만드는 방법

분류에서Dev

for 루프를 사용하여 자식 복제 용 셸을 만드는 방법

분류에서Dev

R에서 3 개의 for 루프를 사용하여 행렬의 값을 증가시키는 방법

분류에서Dev

R : 캐스트 함수를 사용하여 루프에서 행렬을 만드는 방법은 무엇입니까?

분류에서Dev

R Shiny : numericInput을 요소로 사용하여 행렬을 만드는 방법

분류에서Dev

파이썬에서 문서 용어 빈도 행렬을 만드는 방법

분류에서Dev

mutate를 사용하여 for 루프의 목록에서 열을 만드는 방법

분류에서Dev

중첩 루프를 사용하여 테이블을 만드는 방법

분류에서Dev

while in 루프를 사용하여 목록 이해력을 만드는 방법

분류에서Dev

for 루프를 사용하여 Java에서 역 삼각형을 만드는 방법

분류에서Dev

루프를 사용하여 자바에서 테이블을 만드는 방법

분류에서Dev

for 루프를 사용하여 객체 배열을 만드는 방법

분류에서Dev

r의 다른 행렬을 사용하여 for 루프로 행렬의 값을 변경하는 방법은 무엇입니까?

분류에서Dev

r의 다른 행렬을 사용하여 for 루프로 행렬의 값을 변경하는 방법은 무엇입니까?

분류에서Dev

WHILE 루프 내부에서 FOREACH 루프를 사용하여 여러 열을 만드는 방법

분류에서Dev

눈과 루프없이 단위 행렬을 만드는 방법

분류에서Dev

병렬 cbind를 수행하는 방법

분류에서Dev

R에서 여러 열을 cbind하는 방법

분류에서Dev

SUDS를 사용하여 SOAP 요청에서 빈 배열을 만드는 방법

분류에서Dev

SUDS를 사용하여 SOAP 요청에서 빈 배열을 만드는 방법

분류에서Dev

Symfony Yaml을 사용하여 빈 배열을 덤프하는 방법

Related 관련 기사

  1. 1

    R 루프 함수를 사용하여 행렬을 만드는 방법

  2. 2

    for 루프를 사용하여 행렬을 채우는 방법

  3. 3

    R에서 루프를 사용하여 n 행렬을 생성하는 방법

  4. 4

    루프를 사용하여 사전을 만드는 방법?

  5. 5

    for 루프를 사용하여 행렬의 행 평균을 계산하는 방법

  6. 6

    foreach 루프를 사용하여 HTML을 만드는 방법

  7. 7

    루프를 사용하여 배열을 만드는 방법

  8. 8

    awk를 사용하여 for 루프와 배열을 사용하여 파일의 행을 재정렬하는 방법

  9. 9

    R에서 빈도 열을 다루는 그래프를 만드는 방법

  10. 10

    for 루프를 사용하여 자식 복제 용 셸을 만드는 방법

  11. 11

    R에서 3 개의 for 루프를 사용하여 행렬의 값을 증가시키는 방법

  12. 12

    R : 캐스트 함수를 사용하여 루프에서 행렬을 만드는 방법은 무엇입니까?

  13. 13

    R Shiny : numericInput을 요소로 사용하여 행렬을 만드는 방법

  14. 14

    파이썬에서 문서 용어 빈도 행렬을 만드는 방법

  15. 15

    mutate를 사용하여 for 루프의 목록에서 열을 만드는 방법

  16. 16

    중첩 루프를 사용하여 테이블을 만드는 방법

  17. 17

    while in 루프를 사용하여 목록 이해력을 만드는 방법

  18. 18

    for 루프를 사용하여 Java에서 역 삼각형을 만드는 방법

  19. 19

    루프를 사용하여 자바에서 테이블을 만드는 방법

  20. 20

    for 루프를 사용하여 객체 배열을 만드는 방법

  21. 21

    r의 다른 행렬을 사용하여 for 루프로 행렬의 값을 변경하는 방법은 무엇입니까?

  22. 22

    r의 다른 행렬을 사용하여 for 루프로 행렬의 값을 변경하는 방법은 무엇입니까?

  23. 23

    WHILE 루프 내부에서 FOREACH 루프를 사용하여 여러 열을 만드는 방법

  24. 24

    눈과 루프없이 단위 행렬을 만드는 방법

  25. 25

    병렬 cbind를 수행하는 방법

  26. 26

    R에서 여러 열을 cbind하는 방법

  27. 27

    SUDS를 사용하여 SOAP 요청에서 빈 배열을 만드는 방법

  28. 28

    SUDS를 사용하여 SOAP 요청에서 빈 배열을 만드는 방법

  29. 29

    Symfony Yaml을 사용하여 빈 배열을 덤프하는 방법

뜨겁다태그

보관