gpt4 book ai didi

r - 在未知索引处分割向量

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

我在 R 中有一个向量,其中至少包含 50.000 个实数。
这些值从小到大排序,现在我需要将这个向量拆分为不同的向量。当两个数字之间的差异大于给定数字(例如两个)时,必须拆分向量。

例子,

data <- c(1,1.1, 1.2, 4, 4.2, 8, 8.9, 9, 9.3);
# Then I need the following vectors:
x1 <- c(1, 1.1, 1.2);
x2 <- c(4, 4.2);
x3 <- c(8, 8.9, 9, 9.3);

困难在于我们不知道所需向量的数量,也不知道正手击球时每个向量的长度。

现在我有了以下想法,但是这非常耗时,并且只能将向量拆分为两个新向量。
j <- 2;
seqDemA1 <- seqDemandA[1];
while((seqDemandA[j-1] - seqDemandA[j] < 2) && (j < length(seqDemandA)+1)) {
seqDemA1 <- c(seqDemA1, seqDemandA[j]);
j <- j+1;
}
seqDemA2 <- seqDemandA[j];
j <- j+1;
while((seqDemandA[j-1] - seqDemandA[j] < 2) && (j < length(seqDemandA)+1)) {
seqDemA2 <- c(seqDemA2, seqDemandA[j]);
j <- j+1;
}

我期待着你的帮助!

最佳答案

尝试这个,

split(data, cumsum(c(0, diff(data)>=2)))

关于r - 在未知索引处分割向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17460440/

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