Назначение NULL элементу списка в R?

) Я нашел такое поведение странным и хотел, чтобы более опытные пользователи поделились своими мыслями и обходными путями. При запуске пример кода ниже в R:

sampleList <- list()
d<- data.frame(x1 = letters[1:10], x2 = 1:10, stringsAsFactors = FALSE)
for(i in 1:nrow(d)) {
        sampleList[[i]] <- d$x1[i]
}

print(sampleList[[1]])
#[1] "a"
print(sampleList[[2]])
#[1] "b"
print(sampleList[[3]])
#[1] "c"
print(length(sampleList))
#[1] 10

sampleList[[2]] <- NULL
print(length(sampleList))
#[1] 9
print(sampleList[[2]])
#[1] "c"
print(sampleList[[3]])
#[1] "d"

Элементы списка сдвигаются вверх. Возможно, это так, как ожидалось, но я пытаюсь реализовать функцию, в которой я объединяю два элемента списка и отбрасываю один. Я в основном хотите потерять индекс этого списка или присвоить ему значение NULL.

Можно ли каким-либо образом присвоить ему значение NULL и не увидеть описанного выше поведения?

Спасибо за ваши предложения.

48
задан Suren 3 May 2018 в 04:22
поделиться