У меня есть длинный список чисел в символьном формате (около 50000 терминов), которые можно очень быстро преобразовать в числовые с помощью «as.numeric»:
y = c("-1", "1", "1", ...)
Проблема в том, что я расширил функциональность, включив дроби и вызов
y = c("-1/2", "1", "1", ...)
y = as.numeric(y);
выдает предупреждающее сообщение "НП введены путем принуждения" при вызове
sapply(y , function(x) {
eval(parse(text=x));
});
решает проблему, но требует гораздо больше времени для выполнения. Есть лучший способ сделать это?
sapply(y, function(x) if(grepl('/', x)) eval(parse(text=x)) else as.numeric(x))
- person akrun   schedule 22.11.2015