如何 select 一个随机向量
How to select a random vector
我有 4 个包含整数的向量。
我想根据随机选择的 2 个向量执行计算。
我尝试创建一个包含所有向量的新向量,但 sample()
只给了我每个向量的第一个元素。
我的载体如果有帮助:
A <- c(4, 4, 4, 4, 0, 0)
B <- c(3, 3, 3, 3, 3, 3)
C <- c(6, 6, 2, 2, 2, 2)
D <- c(5, 5, 5, 1, 1, 1)
我想要的输出例如:A, B
或B, D
或D, A
等
在此先感谢您!
如果将向量存储在列表中,这会更容易做到:
vecs <- list(
A = c(4, 4, 4, 4, 0, 0),
B = c(3, 3, 3, 3, 3, 3),
C = c(6, 6, 2, 2, 2, 2),
D = c(5, 5, 5, 1, 1, 1)
)
idx <- sample(1:length(vecs), 2, replace = F)
sampled <- vecs[idx]
sampled
$D
[1] 5 5 5 1 1 1
$B
[1] 3 3 3 3 3 3
然后您可以使用 sampled[[1]]
和 sampled[[2]]
.
访问您的两个采样向量,无论它们的名称如何
列出清单:
LIST = list(A,B,C,D)
names(LIST) = c("A","B","C","D")
这为您提供了列表中的 2 个示例
sample(LIST,2)
例如,要添加它们,请执行:
Reduce("+",sample(LIST,2))
你首先需要做一个list or a dataframe,你可以在上面做sample()
。 size=
表示每个样本中你想要的向量数量,这里是2
。
列表
> LIST <- list(A, B, C, D)
> sample(LIST, size = 2)
[[1]]
[1] 3 3 3 3 3 3
[[2]]
[1] 4 4 4 4 0 0
数据框
> df <- data.frame(A, B, C, D)
> sample(df, size = 2)
B C
1 3 6
2 3 6
3 3 2
4 3 2
5 3 2
6 3 2
我认为你在错误的对象上采样。
我有 4 个包含整数的向量。
我想根据随机选择的 2 个向量执行计算。
我尝试创建一个包含所有向量的新向量,但 sample()
只给了我每个向量的第一个元素。
我的载体如果有帮助:
A <- c(4, 4, 4, 4, 0, 0)
B <- c(3, 3, 3, 3, 3, 3)
C <- c(6, 6, 2, 2, 2, 2)
D <- c(5, 5, 5, 1, 1, 1)
我想要的输出例如:A, B
或B, D
或D, A
等
在此先感谢您!
如果将向量存储在列表中,这会更容易做到:
vecs <- list(
A = c(4, 4, 4, 4, 0, 0),
B = c(3, 3, 3, 3, 3, 3),
C = c(6, 6, 2, 2, 2, 2),
D = c(5, 5, 5, 1, 1, 1)
)
idx <- sample(1:length(vecs), 2, replace = F)
sampled <- vecs[idx]
sampled
$D
[1] 5 5 5 1 1 1
$B
[1] 3 3 3 3 3 3
然后您可以使用 sampled[[1]]
和 sampled[[2]]
.
列出清单:
LIST = list(A,B,C,D)
names(LIST) = c("A","B","C","D")
这为您提供了列表中的 2 个示例
sample(LIST,2)
例如,要添加它们,请执行:
Reduce("+",sample(LIST,2))
你首先需要做一个list or a dataframe,你可以在上面做sample()
。 size=
表示每个样本中你想要的向量数量,这里是2
。
列表
> LIST <- list(A, B, C, D)
> sample(LIST, size = 2)
[[1]]
[1] 3 3 3 3 3 3
[[2]]
[1] 4 4 4 4 0 0
数据框
> df <- data.frame(A, B, C, D)
> sample(df, size = 2)
B C
1 3 6
2 3 6
3 3 2
4 3 2
5 3 2
6 3 2
我认为你在错误的对象上采样。