2016-04-30 51 views
-1

我的数据框中的列存储为字符。由于在字符上使用了操作,因此我使用聚合函数时出现错误。我可以找到类似的问题,但提供的解决方案即as.numeric(as.character(dataframe))不适用于我。如何更改我的列的类型并保留列的值?无法将类型字符转换为数字R

> str(df$Order_Quantity) 
    chr [1:92] "1,909.60" "2,019.20" "4,119.60" "-" "11,000.00" "1110.00" "80.5" ... 
> df$Order_Quantity<- as.numeric(as.character(df$Order_Quantity)) 
Warning message: 
NAs introduced by coercion 
> str(df$Order_Quantity) 
num [1:92] NA NA NA NA NA NA 10.5 NA NA 26 ... 
#I am losing my data 

回答

1

删除使用gsub()逗号:

df$Order_Quantity<- as.numeric(gsub(",", "", as.character(df$Order_Quantity))) 

我还注意到,您的源数据似乎有一个破折号(-)为好。你可以忽略这个,它会简单地用NA来代替,或者你可以在你认为合适的时候处理它。

相关问题