Wśród kilku innych mniej istotnych, sprawdziłem te dwie odpowiedzi:
Answer 1
Answer 2
Jak usunąć element z listy ciągów w R
Jednak rozwiązania przedstawiane nie pomogło.
Prawdopodobnie nie rozumiem mojego własnego problemu i staram się postępować właściwie w niewłaściwy sposób. Doceniam każdą pomoc.
Mam następujący kod gdzie budować listę ciągów i spróbuj usunąć drugi element listy:
> 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
Więc moje pytanie brzmi: w jaki sposób mogę usunąć drugi element (lub wielokrotność elementy, takie jak 1 i 3) z my_list? Elementy my_list nie są nazwane, chcę uzyskać do nich dostęp za pomocą indeksu liczbowego.
'mylist [[1]] <- mylist [[1]] [- 2]'. Sugerowałbym czytanie trochę po drodze podzestawy i listy działają w R. – Justin
Wiadomość Take-home: Użyj podzbioru zamiast przypisywania 'NULL'. – Roland
Dziękuję bardzo Justin (i Roland). Używanie linii pokazanej z zasięgiem zamiast ujemnego indeksu doskonale sprawdza się w moich celach. Próbowałem usunąć elementy z konstrukcją "<- NULL", ale to nie działa. Podział, a następnie nadpisanie listy działa idealnie, a wynik jest taki sam. Sądzę więc, że nie mogę po prostu usunąć elementów, ale raczej trzeba je podsegmentować i zastąpić mniejszą listą. – bomgaroto