gpt4 book ai didi

r - r项目中满足条件的元素向量

转载 作者:行者123 更新时间:2023-12-05 02:19:15 28 4
gpt4 key购买 nike

在代码 R 中:

for (i in 1:10) {
if (!i %% 2){
next
}
print(i)
}

我有输出

[1] 1
[1] 3
[1] 5
[1] 7
[1] 9

但我需要满足该条件的 i 的向量,即 (1,3,5,7,9)。我怎样才能得到矢量(事先不知道矢量维度“长度”)?

以上是我遇到的问题的一个例子:

 x=c(0.1,0.4,0.5)
y=c(0.2,0.3,0.6,0.7)

cont1=0
for(i in 1:(length(x)+1)){

for(j in 1:(length(y)+1)){

if(round((abs((j-1)-(i-1)*(length(y)/length(x))) ),3) < round( max.v.d,3) ) {
cont1=cont1+1
print(paste(i-1,j-1))
}

}
}

输出

[1] "0 0"
[1] "0 1"
[1] "1 1"
[1] "1 2"
[1] "2 2"
[1] "2 3"
[1] "3 3"
[1] "3 4"

但是,我需要一个包含这些元素的矩阵。

最佳答案

在很多方面。这是一个:

i <- 1:10
i[as.logical(i%%2)]

替代方案:

i[(i%%2)==1]

为讨厌打字的人准备的第一个版本:

 i=1:10
i[!!(i%%2)]

如果你需要经常做这种事情,你应该写一个函数,像这样:

 odd <- function(x) x%%2 != 0

 even <- function(x) x%%2 == 0

... 或两者兼而有之。然后你可以做类似的事情

i[odd(i)]
[1] 1 3 5 7 9

关于r - r项目中满足条件的元素向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43243435/

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