tôi có một loạt các khung dữ liệu, df1
df2
, trong đó mỗi khung dữ liệu theo cấu trúc này:Looping thông qua danh sách các khung dữ liệu trong R
x <- c(1:5)
y <- c(1:5)
df1 <- data.frame("Row One"=x, "Row Two"=y)
đầu ra mẫu cho df1:
Row.One Row.Two
1 1
2 2
3 3
4 4
5 5
tôi đặt mỗi khung dữ liệu vào một danh sách dfList <- list(df1,df2...)
Bây giờ tôi muốn lặp qua từng đối tượng khung dữ liệu trong danh sách này để thay thế các tên cột trong usin g lệnh này:
a <- grep("One", colnames(df))
b <- grep("Two", colnames(df))
names(df)[a] <- "R1"
names(df)[b] <- "R2"
Làm thế nào tôi có thể cấu trúc một vòng lặp trong R vì vậy mà tôi dù có bao nhiêu dữ liệu khung nằm trong danh sách các đối tượng tên cột thay đổi lệnh trên sẽ được áp dụng cho mỗi khung dữ liệu?
Điều này hoạt động tốt nhưng khi tôi gọi 'dflist [[1]] 'nó vẫn hiển thị" Hàng Một "thay vì" R1 ". Tại sao thay đổi chỉ xuất hiện trên bảng điều khiển khi tôi chạy lệnh 'lapply' nhưng không tự cập nhật khung dữ liệu? Tôi có làm điều gì sai? – AME
Nếu bạn không assgn kết quả cho một đối tượng được đặt tên nó "biến mất". Nếu bạn muốn nó thay thế dfList, bạn cần sử dụng 'dfList <-'. –