0

我有一列因子数据为“001:0 - 3.8979”和“002:3.879-6.528”。在 10000 个观测值中有 61 个。我想用每个范围的平均值替换这些因素,我已经计算并保存在文本文件中作为数值列。因此,“001:0-3.8939”变为 1.9489,依此类推。

如何快速做到这一点?

4

1 回答 1

3

无需外部文件,就可以了

ranges <- c("001:0 - 3.8979", "002: 3.879-6.528", "003: 7.528-10.356")

result <- sapply(ranges, function(r){
       # Split by ":" to remove the index, then take the second element
       # and split it by "-".
       values <- strsplit(strsplit(r, ":")[[1]][2], "-")
       # Return the mean (note you need to unlist the result of strsplit)
       mean(as.numeric(unlist(values)))
       })
于 2013-10-30T07:32:30.537 回答