我正在寻找一个类似于R的函数lag1,lag2并retain在SAS中使用我可以与data.tables一起使用的函数.
我知道R中有类似的功能embed,lag但它们不会返回单个值或前一个值.它们返回一组完整的向量.
R中有什么东西我可以用data.table吗?
有关SAS功能的更多信息:
我想在我的向量中找到唯一的序列。序列是一系列相同的值。如果一个序列重复,它就算作两个序列,只要中间有另一个序列。一个序列的长度可以是一个值。
所以如果我的函数被称为 findSequences(),它会像这样工作:
my_vector = c('a', 'a', 'b', 'a', 'c', 'c', 'b')
find_Sequences(my_vector)
> 'a', 'b', 'a', 'c', 'b'
Run Code Online (Sandbox Code Playgroud)
unique() 和 distinct() 不这样做。
我在从以下数据中删除适量信息时遇到问题:
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=","))
}
Run Code Online (Sandbox Code Playgroud)
我在仅删除连续的重复项时遇到问题。下面的结果是我得到的。
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
你能建议一种方法来执行此操作吗?理想情况下是矢量化方法...
谢谢,
米格尔