Среди нескольких менее соответствующих других, я проверил эти два ответа:
Answer 1
Answer 2
Как удалить элемент из списка строк в R
Однако решения представленные там не помогло.
Возможно, я ошибаюсь в своей собственной проблеме и стараюсь делать правильные вещи неправильно. Я ценю любую помощь.
У меня есть следующий код, в котором я строю список строк и попытаться удалить второй элемент списка:
> my_strings <- "string1 string2 string3 string4 string5"
> my_list <- strsplit(my_strings,split=" ")
> #Now trying to delete one element from my_list using positive indexing
>
> my_list[[2]] <- NULL #does not work
> my_list[2] <- NULL #nope. Doesn't work either
> my_list[[1]][2] <- NULL #error: replacement has length zero
> my_list[[1]][[2]] <- NULL # error: more elements supplied than there are to replace
Итак, мой вопрос: как я могу удалить второй элемент (или несколько элементы, такие как 1 и 3) my_list? Элементы my_list не называются, я хочу получить к ним доступ с помощью числового индекса.
'mylist [[1]] <- mylist [[1]] [- 2]'. Я бы посоветовал немного почитать о том, как подмножество и списки работают в R. – Justin
Взятие домашнего сообщения: используйте подмножество вместо назначения 'NULL'. – Roland
Большое спасибо Джастину (и Роланду). Использование линии, которую вы показали с диапазоном вместо отрицательного индекса, отлично работает для моих целей. Я пытался удалить элементы с конструкцией «<- NULL», но это не сработает. Подмножество, а затем переписывание списка отлично работает, и результат тот же. Поэтому я предполагаю, что я не могу просто удалить элементы, но мне скорее нужно подмножить список и заменить его на меньший список. – bomgaroto