我已经掌握了一些非常混乱的数据,并且我编写了一个函数来进行一些转换(字符串到数字),我很想改进它。基本上,该函数采用杂乱字符数据的向量并将数据转换为数字。
例如:
## 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