在数据框中存储数字对象的名称和值
storing the name AND value of a numeric object in a data frame
我从矩阵的第一行随机抽取值 A
:
#1 2 3 4 5 6 7 8 9
A <- matrix(data=c( 0, 0, 0.33, 0.37, 0, 0, 0, 0.3, 0, #1
0, 0, 0, 0, 0.1, 0, 0, 0.9, 0, #2
0.2, 0, 0.1, 0, 0.4, 0, 0, 0.3, 0, #3
0.5, 0, 0,0, 0, 0, 0, 0, 0.5, #4
0, 0.4, 0,0, 0, 0.5, 0, 0, 0.1, #5
0, 0, 0,0, 1, 0, 0, 0, 0, #6
0, 0.2, 0, 0.8, 0, 0, 0, 0,0, #7
1, 0, 0, 0, 0, 0, 0, 0,0, #8
0.1, 0.1, 0.1, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1 ),#9
nrow=9, ncol=9)
colnames(A) <- c(1:9)
rownames(A) <- c(1:9)
x <- sample(x=A[,1], size=2, prob=A[,1])
结果是一个 numeric
对象,例如,看起来像这样:
> x
3 8
0.33 0.30
3 和 8 代表我需要存储和用于下游计算的重要信息。我不知道如何提取它们 - 当我 View(x)
:
时,这些行号似乎存储为元数据
如何重塑 sample()
的结果,以便输出的数字对象是包含行号的向量(即,在此示例中,我希望 x
等于 c(3, 8)
)?
怎么样:
A <- matrix(data=c( 0, 0, 0.33, 0.37, 0, 0, 0, 0.3, 0, #1
0, 0, 0, 0, 0.1, 0, 0, 0.9, 0, #2
0.2, 0, 0.1, 0, 0.4, 0, 0, 0.3, 0, #3
0.5, 0, 0,0, 0, 0, 0, 0, 0.5, #4
0, 0.4, 0,0, 0, 0.5, 0, 0, 0.1, #5
0, 0, 0,0, 1, 0, 0, 0, 0, #6
0, 0.2, 0, 0.8, 0, 0, 0, 0,0, #7
1, 0, 0, 0, 0, 0, 0, 0,0, #8
0.1, 0.1, 0.1, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1 ),#9
nrow=9, ncol=9)
colnames(A) <- c(1:9)
rownames(A) <- c(1:9)
x <- names(sample(x=A[,1], size=2, prob=A[,1]))
x
#> [1] "3" "8"
由 reprex package (v2.0.1)
创建于 2022-02-01
我从矩阵的第一行随机抽取值 A
:
#1 2 3 4 5 6 7 8 9
A <- matrix(data=c( 0, 0, 0.33, 0.37, 0, 0, 0, 0.3, 0, #1
0, 0, 0, 0, 0.1, 0, 0, 0.9, 0, #2
0.2, 0, 0.1, 0, 0.4, 0, 0, 0.3, 0, #3
0.5, 0, 0,0, 0, 0, 0, 0, 0.5, #4
0, 0.4, 0,0, 0, 0.5, 0, 0, 0.1, #5
0, 0, 0,0, 1, 0, 0, 0, 0, #6
0, 0.2, 0, 0.8, 0, 0, 0, 0,0, #7
1, 0, 0, 0, 0, 0, 0, 0,0, #8
0.1, 0.1, 0.1, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1 ),#9
nrow=9, ncol=9)
colnames(A) <- c(1:9)
rownames(A) <- c(1:9)
x <- sample(x=A[,1], size=2, prob=A[,1])
结果是一个 numeric
对象,例如,看起来像这样:
> x
3 8
0.33 0.30
3 和 8 代表我需要存储和用于下游计算的重要信息。我不知道如何提取它们 - 当我 View(x)
:
如何重塑 sample()
的结果,以便输出的数字对象是包含行号的向量(即,在此示例中,我希望 x
等于 c(3, 8)
)?
怎么样:
A <- matrix(data=c( 0, 0, 0.33, 0.37, 0, 0, 0, 0.3, 0, #1
0, 0, 0, 0, 0.1, 0, 0, 0.9, 0, #2
0.2, 0, 0.1, 0, 0.4, 0, 0, 0.3, 0, #3
0.5, 0, 0,0, 0, 0, 0, 0, 0.5, #4
0, 0.4, 0,0, 0, 0.5, 0, 0, 0.1, #5
0, 0, 0,0, 1, 0, 0, 0, 0, #6
0, 0.2, 0, 0.8, 0, 0, 0, 0,0, #7
1, 0, 0, 0, 0, 0, 0, 0,0, #8
0.1, 0.1, 0.1, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1 ),#9
nrow=9, ncol=9)
colnames(A) <- c(1:9)
rownames(A) <- c(1:9)
x <- names(sample(x=A[,1], size=2, prob=A[,1]))
x
#> [1] "3" "8"
由 reprex package (v2.0.1)
创建于 2022-02-01