Để làm sạch một số dữ liệu lộn xộn Tôi muốn bắt đầu sử dụng đường ống%>%, nhưng tôi không nhận được mã R làm việc nếu gsub() không phải là lúc bắt đầu của đường ống , nên xảy ra muộn (Lưu ý: câu hỏi này không liên quan đến việc nhập khẩu thích hợp, nhưng với làm sạch dữ liệu)R: kết hợp một số gsub() chức năng ina ống
đơn giản ví dụ:
df <- cbind.data.frame(A= c("2.187,78 ", "5.491,28 ", "7.000,32 "), B = c("A","B","C"))
Cột A chứa các ký tự (trong trường hợp này con số, nhưng điều này cũng có thể là chuỗi) và cần phải được làm sạch. Các bước thực hiện
df$D <- gsub("\\.","",df$A)
df$D <- str_trim(df$D)
df$D <- as.numeric(gsub(",", ".",df$D))
Một cách dễ dàng có thể ống
df$D <- gsub("\\.","",df$A) %>%
str_trim() %>%
as.numeric(gsub(",", ".")) %>%
vấn đề này là các gsub thứ hai vì nó yêu cầu đầu vào .... mà thực sự là kết quả của các dòng trước đó.
Xin vui lòng, bất cứ ai có thể giải thích cách sử dụng các chức năng như gsub() tiếp tục xuống đường ống? Cảm ơn rất nhiều!
hệ thống: R 3.2.3, Windows
Đề cập đến các gói bên ngoài bạn đang sử dụng. –
Mặc dù không có gsub bạn có thể sử dụng 'df $ D <- gsub (" \\. "," ", Df $ A)%>% str_trim()%>% str_replace (',', '.')' –
Trên thực tế, điều này có thể trùng lặp với http://stackoverflow.com/questions/36716710/combining-pipes-and-the-dot-placeholder-in-r –