R:类字符到小数的分数-其他方法不起作用

问题描述 投票:0回答:1

对不起,重复,但是由于某些原因,显示为here的答案对我不起作用。经过检查,我正在使用的数据表具有字符性质。

这是我的数据表

> dt <- data.table(V1 = c("4", "1", "0", "3"), V2 = c("0/1", "0/1", "1/2", "3/4"))

> dt
   V1  V2
1:  4 0/1
2:  1 0/1
3:  0 1/2
4:  3 3/4

> class(dt)
[1] "data.table" "data.frame"
> class(dt$V2)
[1] "character"

如您所见,我对第二列进行了建模,以使元素具有排他格式。我想让第二列为十进制格式,第一列为数字而不是字符,并且最终目标是将两列按行求和。

[当我尝试将其转换为十进制时,它对我的​​dt没有任何影响-请自行查看

> FractionToDecimal <- function(x) {
+   eval(parse(text=as.character(x)))
+        x
+ }
> sapply(dt$V2, FractionToDecimal)
  0/1   0/1   1/2   3/4 
"0/1" "0/1" "1/2" "3/4" 
> FractionToDecimal(dt$V2)
[1] "0/1" "0/1" "1/2" "3/4"

我使用的[[other method,也无法解决

> dt %>% mutate(V2 = eval(parse(text = V2))) V1 V2 1 4 0.75 2 1 0.75 3 0 0.75 4 3 0.75
它只是重复错误的结果。 

有人知道问题出在哪里吗?

如果以后还知道如何将两列都转换为数字/整数格式,这也将有所帮助!

谢谢!

r datatable fractions decimalformat
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.