Tôi đang cố chuyển một số mã plyr thành dplyr và bị kẹt với chức năng đổi tên mới() trong dplyr. Tôi muốn có thể sử dụng lại một biểu thức đổi tên() duy nhất cho tập hợp các tập dữ liệu với các tên gốc trùng lặp nhưng không giống nhau. Ví dụ,Sử dụng đổi tên dplyr() bao gồm các tên biến không có trong tập dữ liệu
sample1 <- data.frame(A=1:10, B=letters[1:10])
sample2 <- data.frame(B=11:20, C=letters[11:20])
Và sau đó,
rename(sample1, var1 = A, var2 = B, var3 = C)
Tôi muốn kết quả được rằng biến A được đổi tên thành var1, và B được đổi tên var2, không thêm một var3 trong trường hợp này. Thay vào đó, tôi nhận được
Lỗi: Unknown biến: C.
Ngược lại, cú pháp plyr sẽ cho phép tôi sử dụng
rename(sample1, c("A" = "var1", "B" = "var2", "C" = "var3"))
rename(sample2, c("A" = "var1", "B" = "var2", "C" = "var3"))
và không ném ra một lỗi. Có cách nào để có được kết quả tương tự trong dplyr mà không nhận được lỗi biến không xác định?
Bạn có thể tham chiếu hàm đổi tên cụ thể từ plyr: 'plyr :: rename (ví dụ 1, c (" A "=" var1 "," B "=" var2 "," C " = "var3")) ' –