我想从每行中独立地随机抽取一个
已编辑。
"sample(df1[, -1], replace = TRUE)" 选择了第二行中的
data.frame
。以下是一个例子。这段代码为每一行选择相同的列,但我需要对每一行进行独立的列选择。library(plyr)
set.seed(12345)
df1 <- mdply(data.frame(mean=c(10, 15)), rnorm, n = 5, sd = 1)
df1
mean V1 V2 V3 V4 V5
1 10 10.58553 10.70947 9.890697 9.546503 10.60589
2 15 13.18204 15.63010 14.723816 14.715840 14.08068
> df1[ , -1]
V1 V2 V3 V4 V5
1 10.58553 10.70947 9.890697 9.546503 10.60589
2 13.18204 15.63010 14.723816 14.715840 14.08068
> sample(df1[, -1], replace = TRUE)
V3 V2 V5 V4 V4.1
1 9.890697 10.70947 10.60589 9.546503 9.546503
2 14.723816 15.63010 14.08068 14.715840 14.715840
> t(apply(df1[, -1], 1, sample))
[,1] [,2] [,3] [,4] [,5]
[1,] 10.70947 9.890697 10.60589 10.58553 9.546503
[2,] 14.71584 13.182044 14.08068 15.63010 14.723816
已编辑。
df1[ , -1]
V1 V2 V3 V4 V5
1 10.58553 10.70947 9.890697 9.546503 10.60589
2 13.18204 15.63010 14.723816 14.715840 14.08068
sample(df1[, -1], replace = TRUE)
V3 V2 V5 V4 V4.1
1 9.890697 10.70947 10.60589 9.546503 9.546503
2 14.723816 15.63010 14.08068 14.715840 14.715840
"sample(df1[, -1], replace = TRUE)" 选择了第二行中的
V3
, V2
, V5
, V4
和 V4
这五列。但我需要它可以选择第一行中的这五列,以及第二行中的任意组合。
df1[sample(seq_along(1:ncol(df1))[-1])]
吗? - akrundf1[sample(names(df1[-1]))]
@akrun -df1[sample(names(df1[-1]))]
- thelatemail