В настоящее время я пытаюсь разделить столбец, содержащий диапазон значений (как символ), на два числовых столбца, чтобы вычислить их среднее значение, если строка имеет диапазон.Затем я хочу заменить старый столбец на обновленный результат.На самом деле, есть несколько столбцов, которые нужно сделать .. Я пытался найти способ, но мне кажется, что это сложно.
Ниже приведен код, который я пробовал .. который не работает ..
test.val <- data.table(id = c(1, 2, 3),
colA = c("100-150", "200", "300"),
colB = c("15", "20-30", "10"))
test.A <- test.val[, lapply(.SD, function(x){strsplit(x, split = "-")}), .SDcols = c("colA", "colB")]
test.B[, lapply(.SD, mean), .SDcols = c("colA", "colB")]
В конце я хотел бы получить следующее:
id colA colB
1: 1 125 15
2: 2 200 25
3: 3 300 10
Кто-нибудь, кто может мне помочь?Большое спасибо.