Я зацикливаюсь в вложенном цикле, но не уверен, как бороться, когда один индекс не имеет никаких данных.R, если ошибка для индекса за пределами
Например:
A <- list(list(1,2), list(2), list(4,5))
я могу сделать:
for(i in 1:length(A)){print(A[[i]][[1]])}
[1] 1
[1] 2
[1] 4
Однако следующий сбой:
for(i in 1:length(A)){print(A[[i]][[2]])}
[1] 2
Error in A[[i]][[2]] : subscript out of bounds
Я не могу просто обернуть его в if(is.null(...)){"Null"}else{...}
как я делал ранее ,
Есть ли какая-либо общая функция, если ошибка или функция ошибки, которая даст значение всякий раз, когда я получаю ошибку индекса за пределами границ? Это может не понадобиться для приведенного выше примера, но мои данные немного сложнее, и я не знаю, как его реплицировать, но покажу, что я пытался пропустить, как он выглядит, когда он пуст, и когда есть результат :
for(i in 1:x$count){z=rbind.fill(z,data.frame(data=if(is.null(x$results[[i]]$experiences[[1]]$experience$A)){"Null"}else{x$results[[i]]$experiences[[1]]$experience$A}
Empty:
x$results[[4]]$experiences
list()
результат:
x$results[[3]]$experiences
[[1]]
[[1]]$experience
[[1]]$experience$start
[1] "..."
[[1]]$experience$A
[1] "..."
[[1]]$experience$B
[[1]]$experience$B$A
[1] "..."
[[1]]$experience$C
[[1]]$experience$C$A
NULL
[[1]]$experience$C$B
NULL
[[1]]$experience$C$C
NULL
[[1]]$`_meta`
[[1]]$`_meta`$weight
[1] 1
[[1]]$`_meta`$`_sources`
[[1]]$`_meta`$`_sources`[[1]]
[[1]]$`_meta`$`_sources`[[1]]$`_origin`
[1] "..."
[[2]]
[[2]]$experience
[[2]]$experience$start
[1] "..."
[[2]]$experience$A
[1] "..."
[[2]]$experience$B
[[2]]$experience$B$C
[1] "..."
[[2]]$experience$C
[[2]]$experience$C$A
NULL
[[2]]$experience$C$B
NULL
[[2]]$experience$C$C
NULL
[[2]]$`_meta`
[[2]]$`_meta`$weight
[1] 1
[[2]]$`_meta`$`_sources`
[[2]]$`_meta`$`_sources`[[1]]
[[2]]$`_meta`$`_sources`[[1]]$`_origin`
[1] "..."
[[3]]
[[3]]$experience
[[3]]$experience$start
[1] "..."
[[3]]$experience$A
[1] "..."
[[3]]$experience$B
[[3]]$experience$B$A
[1] "..."
[[3]]$experience$C
[[3]]$experience$C$A
NULL
[[3]]$experience$C$B
NULL
[[3]]$experience$C$C
NULL
[[3]]$`_meta`
[[3]]$`_meta`$weight
[1] 1
[[3]]$`_meta`$`_sources`
[[3]]$`_meta`$`_sources`[[1]]
[[3]]$`_meta`$`_sources`[[1]]$`_origin`
[1] "..."
Спасибо, я пытался попробовать, но не знал tryCatch – Olivia