gpt4 book ai didi

r - 计算向量列表中的新元素

转载 作者:行者123 更新时间:2023-12-04 07:25:41 25 4
gpt4 key购买 nike

我想计算前几年不存在的新元素。在示例中

样本数据:

var1 <- list('2003' = 1:3, '2004' = c(4:3), '2005' = c(6,4,1), '2006' = 1:4 )

我想得到输出
newcount <- list('2003' = 0, '2004' = 1, '2005' = 1, '2006' = 0)

不成功的代码:
newcount <- mapply(setdiff, var1, seq_along(var1), function(i) 
{if (i > 1) {Reduce(union, var1[i-1], accumulate=T)}}, length)

最佳答案

差不多了,但最好使用向量索引来处理偏移量,然后添加始终已知的初始元素:

lapply(c(list(`2003`=integer(0)),
mapply(setdiff,var1[-1],
Reduce(union,var1,accumulate=TRUE)[-length(var1)])),length)
$`2003`
[1] 0

$`2004`
[1] 1

$`2005`
[1] 1

$`2006`
[1] 0

关于r - 计算向量列表中的新元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12259046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com