我的数据如下: -10.81 + 2.02 47-7 我需要做的是将每一个分成两个数字并将它们加在一起 例如。将-10.81 + 2.02分成" -10.81"和" 2.02"然后将它们加在一起,这样我就可以得到-8.79 将47-7分成47和-7,并将它们加在一起得到40。
非常感谢!答案 0 :(得分:1)
您可以使用strsplit
将字符串分解为多个部分,然后eval
和parse
来评估数学表达式:
dat <- "-10.81+2.02 47-7"
sapply(strsplit(dat, " ")[[1]], function(x) eval(parse(text=x)))
# -10.81+2.02 47-7
# -8.79 40.00
如果你不喜欢矢量上的名字,你可以改为:
unname(sapply(strsplit(dat, " ")[[1]], function(x) eval(parse(text=x))))
# [1] -8.79 40.00