大家好,我有以下数据库:
ID Distance
M1_PRM 54,56
M1_PRM 4147,69
M1_PRM 1723,34
Run Code Online (Sandbox Code Playgroud)
我使用以下脚本替换"."中的",".在距离中,因为R不喜欢","(并且它有效):
mysub<-function(x)(sub(",",".",x))
DB<-(apply(DB, 2,mysub))
DB<-data.frame(DB)
Run Code Online (Sandbox Code Playgroud)
然后我需要转换DB $ Distance as.numeric
因为我需要
tapply
与sum一起使用,例如:
apply(DB$Distance,ID,sum)
Run Code Online (Sandbox Code Playgroud)
当我给
DB$Distance<-as.numeric(DB$Distance)
ID Distance
M1_PRM 54
M1_PRM 4147
M1_PRM 1723
Run Code Online (Sandbox Code Playgroud)
似乎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
Run Code Online (Sandbox Code Playgroud)