大家好, 我有以下数据库:
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/