在单元格R中添加值

时间:2018-02-16 15:47:40

标签: r dataset cell add

我有一个列有酒店房间床位的专栏,但我想知道有多少人可以在这个房间里睡觉。我的数据集如下所示:

        nrofP
         2||2
         3||3
            1
            6
         1||1
2||2||2||2||2
            5
      2||2||1

我的预期结果是:

nrofP
    4
    6
    1
    6
    2
   10
    5
    5

我希望您可能知道解决问题的方法。

3 个答案:

答案 0 :(得分:1)

library(lazyeval)

df <- data.frame(nrofP = c("2||2", "3||3", "1", "2||2||1"), stringsAsFactors = F)

df$nrofP <- lapply(gsub("||", "+", df$nrofP, fixed = T), function(x) lazy_eval(x))

答案 1 :(得分:1)

将nrofP视为向量。

sapply(nrofP,function(x) sum(as.numeric(unlist(strsplit(gsub('\\|\\|',' ',x),' ')))))

答案 2 :(得分:1)

rooms <- c("2||2", "3||3","1", "6", "1||1", "2||2||2||2||2", 
"5","2||2||1")

occupancy <- do.call("c", lapply(strsplit(rooms, "\\|\\|"), function(x) 
{
sum(as.numeric(x))
}))
occupancy