私はいくつかの非常に厄介なデータを手に入れ、いくつかの変換 (文字列から数値へ) を行う関数を作成しました。これを改善したいと思っています。基本的に、関数は乱雑な文字データのベクトルを取り、データを数値に変換します。
例えば:
## 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