我在从以下数据中删除适量信息时遇到问题:
18,14,17,2,9,8
17,17,17,14
18,14,17,2,1,1,1,1,9,8,1,1,1
我正在应用 !duplicate 来删除重复项。
SplitFunction <- function(x) {
  b <- unlist(strsplit(x, '[,]'))
  c <- b[!duplicated(b)]
  return(paste(c, collapse=","))
}
我在仅删除连续的重复项时遇到问题。下面的结果是我得到的。
18,14,17,2,9,8
17,14
18,14,17,2,1,9,8
下面的数据是我想要获得的。
18,14,17,2,9,8
17,14
18,14,17,2,1,9,8,1
你能建议一种方法来执行此操作吗?理想情况下是矢量化方法...
谢谢,
米格尔
您可以使用 rle 函数来解决这个问题。
xx <- c("18,14,17,2,9,8","17,17,17,14","18,14,17,2,1,1,1,1,9,8,1,1,1")
zz <- strsplit(xx,",")
sapply(zz,function(x) rle(x)$value)
并且你可以参考这个链接。 如何在 R 中按顺序删除/折叠连续的重复值?
| 归档时间: | 
 | 
| 查看次数: | 1444 次 | 
| 最近记录: |