Trong một vài người khác ít liên quan, tôi đã kiểm tra hai câu trả lời sau đây:
Answer 1
Answer 2
Làm thế nào để xóa một phần tử từ một danh sách các chuỗi trong R
Tuy nhiên, các giải pháp được trình bày có không giúp đỡ.
Tôi có thể hiểu lầm vấn đề của riêng mình và cố gắng làm đúng cách sai. Tôi đánh giá cao sự giúp đỡ nào.
Tôi có đoạn code sau đây mà tôi xây dựng một danh sách các chuỗi và cố gắng để xóa phần tử thứ hai của danh sách:
> 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
Vì vậy, câu hỏi của tôi là: làm thế nào tôi có thể xóa phần tử thứ hai (hoặc nhiều các yếu tố, như 1 và 3) của my_list? Các phần tử của my_list không được đặt tên, tôi muốn truy cập chúng bằng chỉ mục số.
'mylist [[1]] <- mylist [[1]] [- 2]'. Tôi muốn đề nghị đọc một chút về cách thức subsetting và danh sách làm việc trong R. – Justin
Take-home message: Sử dụng subsetting thay vì gán 'NULL'. – Roland
Cảm ơn bạn rất nhiều Justin (và Roland). Sử dụng dòng bạn đã hiển thị với một dải thay vì chỉ mục phủ định hoạt động hoàn hảo cho mục đích của tôi. Tôi đã cố gắng để loại bỏ các mục với "<- NULL" xây dựng, nhưng nó không hoạt động. Đăng ký và sau đó ghi đè lên danh sách hoạt động hoàn hảo và kết quả là như nhau. Vì vậy, tôi đoán tôi không thể chỉ đơn giản là loại bỏ các yếu tố, nhưng tôi thay vì phải subset danh sách và thay thế nó bằng danh sách nhỏ hơn – bomgaroto