Tôi có một danh sách các chuỗi có chứa ký tự ngẫu nhiên như:Extracting con số duy nhất từ chuỗi trong R
list=list()
list[1] = "djud7+dg[a]hs667"
list[2] = "7fd*hac11(5)"
list[3] = "2tu,g7gka5"
Tôi muốn biết số điện thoại nào có mặt ít nhất một lần (unique()
) trong danh sách này. Các giải pháp của ví dụ của tôi là:
giải pháp: c(7,667,11,5,2)
Nếu ai đó có một phương pháp mà không xem xét 11 như "mười một", nhưng là "một trong và một", nó sẽ còn có ích. Các giải pháp trong tình trạng này sẽ là:
giải pháp: c(7,6,1,5,2)
(Tôi tìm thấy bài viết này về một chủ đề liên quan: Extracting numbers from vectors of strings)
Ba câu trả lời giống nhau trong một phút của nhau! : D – asb
'strsplit' được vectơ hóa. Bạn có thể/nên tránh sử dụng các vòng bằng cách 'không liệt kê dữ liệu của OP. – Arun
Sử dụng 'Reduce' với' union' (về bản chất là looping) ở đây cũng sẽ tốn rất nhiều thời gian cho các danh sách lớn ('unique' và' unlist' sẽ nhanh hơn nhiều). – Arun