在单元格 R 中添加值

Add values in a cell R

我得到了一个包含酒店房间床型的列,但我想知道这个房间可以睡多少人。我的数据集如下所示:

        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

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

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))

将 nrofP 视为向量。

sapply(nrofP,function(x) sum(as.numeric(unlist(strsplit(gsub('\|\|',' ',x),' ')))))
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