일부 지저분한 데이터를 보유하고 일부 변환 (숫자로 된 문자열)을 수행하는 함수를 작성하여 개선하려고합니다. 기본적으로이 함수는 지저분한 문자 데이터의 벡터를 취해 데이터를 숫자로 변환합니다.함수에 전달 된 열 이름에서 변수 파생
예를 들어:
이## say you had this
df1 <- data.frame (V1 = c(" $25.25", "4,828", " $7,253"), V2 = c("THIS is bad data", "725", "*error"))
numconv <- function(vec){
vec <- str_trim(vec)
vec <- gsub(",|\\$", "", vec)
if(sum(!grepl("[0-9]",vec)) == 0){
vec <- as.numeric(vec)
}
if(sum(!grepl("[0-9]",vec)) != 0){
print("!!ERROR STRANGE CHARACTERS!!")
}
}
df1$V1recode <- numconv(df1$V1)
df1$V2recode <- numconv(df1$V2)
[1] "!!ERROR STRANGE CHARACTERS!!"
내가 함수 내 원래 열 이름의 이름을 지정할 수 있습니다 어떻게 내가 함수 내 오류 메시지에 붙여 넣을 수 있습니다, 그래서 대신 읽
!! V2에서 오류가있는 문자!
함수 내에서 names() 및 colnames()를 호출 해 보았지만 작동하지 않습니다. 사전에
감사합니다, C
사이드 노트 : 왜 단순히'as.numeric (GSUB를 ("[^ 0-9 \\ .] "," ", df1 $ V2))'그 다음 'NA'값을 확인 하시겠습니까? – joran
아주 좋은 지적! – Chris