Использование eval(parse(.))
sapply(seq(v), function(i) eval(parse(text=v[i])))
# [1] NA 2500.5 7500.0 12500.0 17500.0
# [6] 22500.0 27500.0 35000.0 45000.0 62500.0
# [11] 87500.0 150000.0 350000.0 750000.0 1250000.0
# [16] 1750000.0 3500000.0 7500000.0
Обратите внимание, что я удалил некоторые значения для демонстрации. Предполагается, что dat
- ваш набор данных, чтобы учесть переменные, вы можете сделать что-то вроде:
with(dat, sapply(seq(v), function(i) eval(parse(text=v[i]))))
Data:
v <- c("(NA)/2", "(1+5000)/2", "(5000+10000)/2", "(10000+15000)/2",
"(15000+20000)/2", "(20000+25000)/2", "(25000+30000)/2", "(30000+40000)/2",
"(40000+50000)/2", "(50000+75000)/2", "(75000+100000)/2", "(100000+200000)/2",
"(200000+500000)/2", "(500000+1000000)/2", "(1000000+1500000)/2",
"(1500000+2000000)/2", "(2000000+5000000)/2", "(5000000+10000000)/2"
)