Tôi có danh sách tệp. Tôi cũng có một danh sách "tên" mà tôi substr()
từ tên tệp thực sự của những tệp này. Tôi muốn thêm một cột mới vào từng tệp trong danh sách. Cột này sẽ chứa phần tử tương ứng trong "tên" được lặp lại nhiều lần số hàng trong tệp.Thêm cột mới vào từng phần tử trong danh sách bảng hoặc khung dữ liệu
Ví dụ:
df1 <- data.frame(x = 1:3, y=letters[1:3])
df2 <- data.frame(x = 4:6, y=letters[4:6])
filelist <- list(df1,df2)
ID <- c("1A","IB")
Mã giả
for(i in length(filelist)){
filelist[i]$SampleID <- rep(ID[i],nrow(filelist[i])
}
// cơ bản tạo một cột mới trong mỗi dataframes trong filelist, và điền vào cột với các giá trị tương ứng repeted ID
đầu ra của tôi phải như sau:
filelist[1]
nên là:
x y SAmpleID
1 1 a 1A
2 2 b 1A
3 3 c 1A
fileList[2]
x y SampleID
1 4 d IB
2 5 e IB
3 6 f IB
và vân vân .....
Bất cứ ý tưởng làm thế nào nó có thể được thực hiện.
Cảm ơn bạn rất nhiều vì sự giúp đỡ và cách tiếp cận đặc biệt của bạn. Vòng lặp for, mapply() và cbind tất cả các công việc giống như một sự quyến rũ. Mặt của nó để học một ngôn ngữ như thế này và tôi học một cái gì đó mới mỗi khi tôi đặt ra một câu hỏi trên diễn đàn này. Tôi xin lỗi tôi không thể viết trước đó để bày tỏ lòng biết ơn và sự đánh giá cao của tôi. Cảm ơn – user1079898