r - 为什么在应用 as.numeric 时 R 会丢弃小数?

标签 r decimal

大家好, 我有以下数据库:

ID Distance
M1_PRM    54,56
M1_PRM  4147,69
M1_PRM  1723,34

我使用以下脚本替换“.”中的“,”在距离上,因为 R 不喜欢“,”(它有效):

mysub<-function(x)(sub(",",".",x))
DB<-(apply(DB, 2,mysub))
DB<-data.frame(DB)

然后我需要转换 DB$Distance as.numeric 因为我需要使用 tapply 与 sum 结合,如:

apply(DB$Distance,ID,sum)

当我给予时

DB$Distance<-as.numeric(DB$Distance)

ID Distance
M1_PRM 54
M1_PRM 4147
M1_PRM 1723

R 似乎舍弃了小数点!!! 有人知道出了什么问题吗? 提前致谢!

最佳答案

另一种方法(如果您从文件中读取此内容):

dat <- read.table(text = "ID Distance
 M1_PRM    54,56
 M1_PRM  4147,69
 M1_PRM  1723,34",header = TRUE,sep = "",dec = ",")
> dat
      ID Distance
1 M1_PRM    54.56
2 M1_PRM  4147.69
3 M1_PRM  1723.34

关于r - 为什么在应用 as.numeric 时 R 会丢弃小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14402482/

相关文章:

R 按值选择,避免 NA

r - 使用扫帚和tidyverse总结r平方的gams

C++打印给定分子和分母的小数

python语言环境货币到0小数

R nls : fitting a curve to data

r - 在图表位置箭头附近添加文本标签。记事本的 Posn () 函数

mysql - 使用 DECIMAL(31,0) 的原因

java - 在java中格式化2位小数

c# - 十进制数据类型在需要显示时去除尾随零

r - 如果一行中的任何列满足条件而不是 mutate() 列