Tôi có một dataframe (TBB) như sauTìm biểu thức chính quy trong một cột và thêm vào một cột mới trong cùng một dataframe
X.CHROM POS INFO
chr1 134324 SAMPLE=LNGHJ;
chr2 2333 SAMPLE=dd;GERP;.;
chr2 3334 SAMPLE=;GERP;DDS;CDC=dd;
Tôi muốn trích xuất tất cả mọi thứ giữa mỗi dấu chấm phẩy và đặt nó trong cột riêng của mình do đó kết quả sẽ trông giống như
X.CHROM POS INFO
chr1 134324 SAMPLE=LNGHJ; SAMPLE=LNGHJ
chr2 2333 SAMPLE=dd;GERP;DDS=3; SAMPLE=dd GERP DDS=3
chr2 3334 SAMPLE=;GERP;DDS; SAMPLE= GERP DDS
tôi cố gắng này
TBB3 <- TBB[grep("SAMPLE.*?;", TBB$INFO), ]
TBB4<-cbind(TBB3,TBB)
nhưng các cột là sai kích thước tương đối với nhau và rõ ràng tôi sẽ phải lặp lại điều này cho mỗi từ sau dấu chấm phẩy vì vậy không hiệu quả lắm.
và Người viết chủ đề - Tôi cần giải pháp tương tự vào cuối tuần trước (nhưng đặt nó ở trạng thái giữ do kỳ nghỉ) , cảm ơn! Tuy nhiên, trong bài viết gốc có 4 "mục" ở giữa các dấu chấm phẩy trong hàng với '3334', trong khi các hàng khác có 3. Điều đó có phá vỡ tính tổng quát không? –
@AlexeyFerapontov nó sẽ không phanh, nhưng nó sẽ tạo ra một mục riêng biệt cho '.' nếu đó là những gì bạn có ý nghĩa. Mặc dù điều đó có thể cũng được xử lý với một regex thích hợp tôi đoán. –
Tuyệt vời! Cảm ơn bạn! –