gpt4 book ai didi

R:制作2个子集向量,以便值在索引方面不同

转载 作者:行者123 更新时间:2023-12-04 12:37:13 27 4
gpt4 key购买 nike

我想用 replace=TRUE 从相同的数据中创建 2 个向量子集。

即使两个向量可以包含相同的值,它们在相同的索引位置也不能相同。

例如:

> set.seed(1)
> a <- sample(15, 10, replace=T)
> b <- sample(15, 10, replace=T)
> a
[1] 4 6 9 14 4 14 15 10 10 1
> b
[1] 4 3 11 6 12 8 11 15 6 12
> a==b
[1] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

在这种情况下,向量 ab 在索引 1 (value==4) 处包含相同的值,这对我的目的来说是错误的。

有没有简单的方法来纠正这个问题?

可以在subset这一步完成吗?

或者我应该逐个元素地检查循环,如果值相同,请为 b[i] 再次选择并再次检查它是否不相同 ad infinitum

非常感谢!

最佳答案

我的想法是,不要获得 2 个长度为 10 的样本进行替换,而是获得 10 个长度为 2 的样本而不进行替换

 library(purrr)
l <- rerun(10,sample(15,2,replace=FALSE))

l 中的每个元素都是长度为 2 的整数向量。这两个整数保证是不同的,因为我们在 sample

中指定了 replace=FALSE
 # from l extract all first element in each element, this is a
a <- map_int(l,`[[`,1)
# from list extract all second elements, this is b
b <- map_int(l,`[[`,2)

关于R:制作2个子集向量,以便值在索引方面不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58370234/

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