我有一个数据框,想要将其中的一部分转换为数字值:
> 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会变圆?如何获得完整的数字/双精度值?
感谢您的回答!
答案 0 :(得分:4)
仅显示str
:
str(as.double(gsub(",",".","182,83")))
#num 183
向量是双精度:
as.double(gsub(",",".","182,83"))
#[1] 182.83
请注意,您可以在从文件中读取时指定小数点分隔符(例如,使用read.table
)。