Допустим, у меня есть строка следующим образомКак суммировать все экземпляры числа в строке в R
"The specimen is 34 x 1 x 5 mm and there is also another thing in there that is 22 x 4 x 1 mm and a further thing of 11 x 4 x 8 so this should be added together"
Я хочу добавить кубическую мм каждой вещи вместе и место в отдельном поле в моем dataframe.
У меня есть регулярное выражение, чтобы сделать это, но я не знаю, как захватить каждый экземпляр, чтобы я мог добавить их вместе. Результат должен быть 1226 mm3
Чтобы захватить один экземпляр я использую:
chunky <- str_extract(EndoSubsetEMRSizes$NatureOfSpec, "\\d+\\s*x\\s*\\d+\\s*x\\s*\\d+")
, но как захватить все в той же строке, так что они могут быть добавлены?
Я получаю '610', делая' SUM (sapply (strsplit (regmatches (x, gregexpr ("\\ d + x \\ d + x \\ d +", x)) [[1]], "x", fixed = TRUE), function (x) prod (as.integer (x)))) '. Не знаете, как вы придумали '1226' –
Я тоже получаю 610 ... способом более запутанным способом. – thepule
Возможно, добавьте воспроизводимый пример с несколькими строками и желаемым выходом –