【发布时间】:2019-01-25 21:59:49
【问题描述】:
我目前正在尝试将包含值范围(作为字符)的列分隔为两个数字列,以计算它们的平均值(如果行具有范围)。然后,我想用更新的结果替换旧列。实际上,有多个专栏要做。我试图找到一种方法,但这对我来说似乎具有挑战性。
下面是我尝试过的代码..它不起作用..
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
谁能帮帮我? 非常感谢。
【问题讨论】:
标签: r data.table strsplit