Foreach 결합 오류, rbind 모든 변수는 길이가 같아야하지만 [R]

dez932000

파일 foreach .combine폴더와 Rds파일 rbind을 하나로 읽는 매우 간단한 작업을 시도 하고 있습니다.

all_dfs <- foreach(j = list.files(pattern = ".Rds"),
 .errorhandling = "pass",
 .combine = rbind,
 .multicombine = TRUE) %dopar% {eachRdsFile <- readRDS(j)}

그리고 오류가 발생합니다.

결합 함수 호출 오류 : rbind (deparse.level, ...)의 simpleError : 잘못된 목록 인수 : 모든 변수의 길이가 같아야합니다.

그러나 모든 파일을 반복하고 질문하면 length모두 동일합니다 (82).

for (j in list.files(pattern = ".Rds")) {
 eachRdsFile <- readRDS(j)
 print(length(eachRdsFile))}

foreach오류는 파일 153/206에서 발생합니다. 1 : 152에서 작동합니다. 153 파일을 열고 조사했는데 152와 똑같이 괜찮아 보입니다. 재현 가능한 최소한의 예제를 시도했습니다.

library(parallel)
library(doMC)
mycores <- 8
registerDoMC(cores = mycores)
testdfs <- foreach(j = 1:206,.errorhandling = "pass",.combine = rbind,.multicombine = TRUE) %dopar% {
  eachdf <- data.frame(A = runif(10), B = runif(10))}

하지만 잘 작동합니다. 나는 foreach1 : 152를 위해 실행 한 다음 파일 153을로드 rbound했고 함께 잘 작동합니다. Foreach파일 153 : 206에서 제대로 작동합니다 (206이 마지막 파일 임). 55 : 206이 제대로 작동합니다 (152 개 파일). 54 : 206 실패 (153 개 파일). 그렇다면 문제가 rbinding> = 153 개 파일에있을 수 있습니까? 내 reprex 시도는 206 개의 파일로 성공 했으므로 rbinding모든 개체의> = 153에 문제가 없습니다 .

왜 이런 일이 일어날 지 아무도 생각할 수 없습니까? 아이디어가 부족합니다. 버그처럼 느껴지나요? 미리 감사드립니다.

편집 : 해결에 도움을 주신 Florian Privé에게 다시 한번 감사드립니다. 문제는 내 writeLines사용과 관련이 sink있습니다 print( progress bars아무리 노력해도 병렬로 작업 할 수 없기 때문에 (또는 )).

writeLines(c(""), "log.txt")
all_dfs <- foreach(...){
sink("log.txt", append = TRUE)

목록으로 출력했을 때 싱크 스택 전체 오류가 문제인 것으로 나타났습니다.

스크린 샷

dmi3kno의 답변 덕분에 마침내 수정했고 .combine오류없이 접근 방식 을 사용했습니다 .

F. 개인

를 제거하여 .combine목록을 가져온 다음 do.call("rbind", your_list).

아마도 더 효율적일 것입니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

테이블 오류 (데이터, 참조, dnn = dnn, ...) : R에서 confusionMatrix를 캐럿으로 실행할 때 모든 인수의 길이가 같아야합니다.

분류에서Dev

R : FUN (X [[i]], ...) 오류 : 모든 숫자 변수가있는 데이터 프레임에서만 정의 됨

분류에서Dev

벡터는 MATLAB에서 길이 오류가 같아야합니다.

분류에서Dev

두 파이썬 클래스 인스턴스 간의 합계를 수행하고 모든 인스턴스 변수의 길이 목록을 가져 오는 방법

분류에서Dev

R 오류-결과의 열 수가 벡터 길이의 배수가 아닙니다 (인수 1).

분류에서Dev

R caret 패키지의 train () 함수에서 rbind.fill 오류

분류에서Dev

dplyr 파이핑을 "오류 : 결과는 길이가 N이 아니라 n이어야합니다."

분류에서Dev

쌍별 T- 검정 : complete.cases (x, y) 오류 : 모든 인수의 길이가 같지 않습니까?

분류에서Dev

Foreach는 모든 데이터를 가져 오지 않습니다.

분류에서Dev

폴더의 모든 txt 파일을 가져오고, 데이터 프레임에 연결하고, 파일 이름을 R에서 변수로 사용합니까?

분류에서Dev

rbind (deparse.level, ...) 오류 : 인수 열 수가 R과 일치하지 않습니다.

분류에서Dev

R obj는 업데이트 후 foreach 개체 오류 여야합니다.

분류에서Dev

R : 2 개의 다른 컴퓨터 : R에서 "오류 : 모든 인수의 이름을 지정해야합니다"가 표시됨

분류에서Dev

Caffe 분류기를 사용하려고하면 "시퀀스 인수의 길이가 입력 순위와 같아야합니다"오류가 발생합니다.

분류에서Dev

Seaborn 산점도 값 오류 : 배열은 모두 길이가 같아야합니다.

분류에서Dev

tapply (var, y, mean, na.rm = TRUE) 오류 : 인수의 길이가 같아야합니다.

분류에서Dev

R에서 rpart 패키지를 사용하면 의사 결정 트리 모델에 대한 모든 변수를 선택하는 동안 오류가 발생했습니다.

분류에서Dev

어간 사용 오류 (43 행) X는 Y와 길이가 같아야합니다.

분류에서Dev

R-cv.glmnet 오류 : 행렬의 열 수가 같아야합니다.

분류에서Dev

R-완전한 경우 모든 인수의 길이가 같지는 않습니다.

분류에서Dev

"메모리 부족 오류"라는 오류가 발생합니다. 모든 솔루션을 시도했지만 해당 오류가 발생합니다.

분류에서Dev

"ConfigService에 대한 모든 매개 변수를 해결할 수 없습니다."오류가 발생합니다.

분류에서Dev

R의 하드 스턱 오류 : 가변 길이가 다릅니다.

분류에서Dev

mutate_impl (.data, dots) 오류 : SQL Server에서 길이가 0 인 변수 이름 R- 서비스를 사용하려고합니다.

분류에서Dev

rbind를 사용하여 모든 데이터 세트 결합 모든 데이터 세트의 이름은 공통 문자로 시작

분류에서Dev

Powershell : ForEach는 발견 된 모든 값을 하나로 연결하고 스크립트가 실패합니다.

분류에서Dev

이 오류가 발생합니다 : 모듈 './lib/async'Require stack :.이 오류를 해결하는 방법?

분류에서Dev

R의 모든 조합에 존재하는 모든 변수로 변수 변환 조합 계산

분류에서Dev

Perl 하위에서 문자가 아닌 인수 오류이지만 R에서 작동합니다.

Related 관련 기사

  1. 1

    테이블 오류 (데이터, 참조, dnn = dnn, ...) : R에서 confusionMatrix를 캐럿으로 실행할 때 모든 인수의 길이가 같아야합니다.

  2. 2

    R : FUN (X [[i]], ...) 오류 : 모든 숫자 변수가있는 데이터 프레임에서만 정의 됨

  3. 3

    벡터는 MATLAB에서 길이 오류가 같아야합니다.

  4. 4

    두 파이썬 클래스 인스턴스 간의 합계를 수행하고 모든 인스턴스 변수의 길이 목록을 가져 오는 방법

  5. 5

    R 오류-결과의 열 수가 벡터 길이의 배수가 아닙니다 (인수 1).

  6. 6

    R caret 패키지의 train () 함수에서 rbind.fill 오류

  7. 7

    dplyr 파이핑을 "오류 : 결과는 길이가 N이 아니라 n이어야합니다."

  8. 8

    쌍별 T- 검정 : complete.cases (x, y) 오류 : 모든 인수의 길이가 같지 않습니까?

  9. 9

    Foreach는 모든 데이터를 가져 오지 않습니다.

  10. 10

    폴더의 모든 txt 파일을 가져오고, 데이터 프레임에 연결하고, 파일 이름을 R에서 변수로 사용합니까?

  11. 11

    rbind (deparse.level, ...) 오류 : 인수 열 수가 R과 일치하지 않습니다.

  12. 12

    R obj는 업데이트 후 foreach 개체 오류 여야합니다.

  13. 13

    R : 2 개의 다른 컴퓨터 : R에서 "오류 : 모든 인수의 이름을 지정해야합니다"가 표시됨

  14. 14

    Caffe 분류기를 사용하려고하면 "시퀀스 인수의 길이가 입력 순위와 같아야합니다"오류가 발생합니다.

  15. 15

    Seaborn 산점도 값 오류 : 배열은 모두 길이가 같아야합니다.

  16. 16

    tapply (var, y, mean, na.rm = TRUE) 오류 : 인수의 길이가 같아야합니다.

  17. 17

    R에서 rpart 패키지를 사용하면 의사 결정 트리 모델에 대한 모든 변수를 선택하는 동안 오류가 발생했습니다.

  18. 18

    어간 사용 오류 (43 행) X는 Y와 길이가 같아야합니다.

  19. 19

    R-cv.glmnet 오류 : 행렬의 열 수가 같아야합니다.

  20. 20

    R-완전한 경우 모든 인수의 길이가 같지는 않습니다.

  21. 21

    "메모리 부족 오류"라는 오류가 발생합니다. 모든 솔루션을 시도했지만 해당 오류가 발생합니다.

  22. 22

    "ConfigService에 대한 모든 매개 변수를 해결할 수 없습니다."오류가 발생합니다.

  23. 23

    R의 하드 스턱 오류 : 가변 길이가 다릅니다.

  24. 24

    mutate_impl (.data, dots) 오류 : SQL Server에서 길이가 0 인 변수 이름 R- 서비스를 사용하려고합니다.

  25. 25

    rbind를 사용하여 모든 데이터 세트 결합 모든 데이터 세트의 이름은 공통 문자로 시작

  26. 26

    Powershell : ForEach는 발견 된 모든 값을 하나로 연결하고 스크립트가 실패합니다.

  27. 27

    이 오류가 발생합니다 : 모듈 './lib/async'Require stack :.이 오류를 해결하는 방법?

  28. 28

    R의 모든 조합에 존재하는 모든 변수로 변수 변환 조합 계산

  29. 29

    Perl 하위에서 문자가 아닌 인수 오류이지만 R에서 작동합니다.

뜨겁다태그

보관