0
나는 사실 확인을 작동하지만 데이터 세트 "테스트"입니다 HDF5 파일에 존재하지 않는 경우 원치 않는 오류가 발생합니다 다음 코드 유효한 경우가있다 :데이터 세트를 열기 전에 HDF5 파일에 데이터 세트가 있는지 테스트하는 방법은 무엇입니까?
library(rhdf5)
test_data <- h5read('test.h5', 'Test')
if (exists('test_data')) {
# then read the data
df_test <- as.data.frame(t(test_data))
# work with df_test
}
및 R 오류를 출력 데이터 세트가 존재하지 않는 경우
Error in h5read('test.h5', 'Test') :
Object Test does not exist in this HDF5 file.
Execution halted
나는 정상적으로 산발적 인 오류를 뱉어는 R 과정없이이를 처리하고 싶습니다.
자, 당신은 인자로 파일 이름을 입력 한 가정하자 :
nextfile<- 'test.h5'
tryCatch(test_data <- h5read(nextfile, 'Test'), error = function(e) { print(paste("'Test' dataset not found in ",nextfile)) })
을 그럼 당신은
아마도'trycatch'를 사용할 것인가? 나는 혼란 스러울 부분이'h5read'가 함수 'Test'를 찾고 있으므로 실패 할 경우'test_data'도 생성되기 전에 발생합니다. –
실제로 trycatch를 사용하면 우아하게 내 OP를 해결할 수 있습니다. trycatch를 기반으로 좋은 품질의 답변을 제공해 주시겠습니까? 첫 번째 줄을 바꿀 코드 조각은 다음과 같습니다 :'tryCatch (test_data <- h5read ('test.h5', 'Test'), error = function (e) {print ("Test 'dataset not found" 'exists' 함수가 그 일을 할 것이기 때문에 나머지 코드는 그대로 남아 있습니다. –