【发布时间】:2020-03-07 18:49:04
【问题描述】:
我需要按一列对数据框进行采样,然后获取采样值和所选值旁边的值以进行进一步计算。
例如,下面是一些代码。假设我在第一列(未使用)上采样,它选择了一个值。然后我想输出该值和一个两列(结转),并在同一行中..
dat <- data.frame(cbind(rnorm(30,600,sd=100),rnorm(30,300,sd=50),rnorm(30,200,sd=50),rnorm(30,200,sd=200)))
colnames(dat) <- c("unused","deduct","carryover","used")
unused <- dat$unused
for (i in 1:10) {
unused[i] <-matrix(sample(unused,size=1,replace=TRUE))
}
【问题讨论】:
-
我很难理解你想要做什么。您想从 data.frame 中采样行(或部分行)吗?根据您的示例数据,您能否举例说明您的预期输出是什么样的?
-
假设我对未使用的样本进行了采样,它从第 21 行中选择了一个值。然后我想从第 21 行(本来在第 3 列)获取该值和结转值,即, 采样值取自同一行。
-
我们可以首先从行号池(与您的 data.frame 中的行数一样多)中采样。然后我们将它们用作行索引并选择行和仅感兴趣的两列作为新数据框
-
所以,不是按列采样,而是按行采样并输出整行,然后提取我需要的内容。