将逗号分隔数据转换为数字值

时间:2014-01-01 20:20:03

标签: r statistics

我有一个数据框,想要将其中的一部分转换为数字值:

> df$TotalReturn : 
str
 chr [1:3036] "182,83" "182,83" "186,4" "190,57" "191,17" 
              "193,25" "190,57" "184,02" "181,34" "172,11" 
              "169,73" "160,2" "175,09" "172,11" "170,92" 
              "176,58" "171,51" "170,92" "173,9" "168,54" 
              "167,34" "166,75" "166,45" "167,34" "164,37" "159,01" 
              "158,11" "154,84" "156,63" etc.

将其转换为我使用:

totalReturns <- (as.double(gsub(",",".",df$TotalReturn)))

但是我的数据看起来像这样:

> totalReturns
str
 num [1:3036] 183 183 186 191 191 ...

为什么R会变圆?如何获得完整的数字/双精度值?

感谢您的回答!

1 个答案:

答案 0 :(得分:4)

仅显示str

str(as.double(gsub(",",".","182,83")))
#num 183

向量是双精度:

as.double(gsub(",",".","182,83"))
#[1] 182.83

请注意,您可以在从文件中读取时指定小数点分隔符(例如,使用read.table)。