如何在斜杠前后添加值

时间:2014-11-25 08:31:07

标签: r slash

您好我有一个与斜线相关的问题。

我正在处理的数据如下:

X Y Z
12/22 14/32 22/34

我想得到斜杠之前和之后的值的平均值。

X Y Z
17 18 28

我该怎么做?

3 个答案:

答案 0 :(得分:2)

获取每个单元格的平均值,即使data.frame中有多行:

as.data.frame(
  apply(dat, 1:2, function(x) {
      mean(as.integer(unlist(strsplit(x,"/"))))
    }
  )
)

答案 1 :(得分:1)

另一种解决方案:

as.data.frame(lapply(dat, function(x) mean(c(as.integer(sub("/.+", "", x)), 
                                             as.integer(sub(".+/", "", x))))))

其中dat是数据框的名称。

答案 2 :(得分:0)

values<-c("12/22","14/32","22/34")

> unlist(lapply(strsplit(values,"/"),function(values2){mean(as.numeric(values2))}))
[1] 17 23 28