Dan*_*Cee 3 indexing element r vector subset
我想用来根据相同数据设置2个向量子集replace=TRUE。
即使两个向量都可以包含相同的值,但它们在相同的索引位置也不能相同。
例如:
> 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
Run Code Online (Sandbox Code Playgroud)
在这种情况下,向量a和b在索引1处包含相同的值(值== 4),这对我来说是错误的。
有简单的方法可以纠正此问题吗?
并且可以在subset台阶上完成吗?
或者我应该经过一个循环检查逐个元素,如果值相同,进行其他选择的b[i],并再次检查,如果它是不相同的循环往复?
非常感谢!
我的想法是,不用替换就得到2个长度为10的样本,而是不用替换就得到10个长度为2的样本
library(purrr)
l <- rerun(10,sample(15,2,replace=FALSE))
Run Code Online (Sandbox Code Playgroud)
中的每个元素l都是长度为2的整数的向量。保证这两个整数是不同的,因为我们replace=FALSE在sample
# 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)
Run Code Online (Sandbox Code Playgroud)