对dataframe的一列进行采样,并在采样输出旁边选择值
我需要按一列对数据帧进行采样,然后取采样值和所选值旁边的值进行进一步计算 例如,下面是一些代码。假设我在第一列(未使用)上采样,它选择一个值。然后我想在同一行中输出该值和两列(结转)对dataframe的一列进行采样,并在采样输出旁边选择值,r,for-loop,random,R,For Loop,Random,我需要按一列对数据帧进行采样,然后取采样值和所选值旁边的值进行进一步计算 例如,下面是一些代码。假设我在第一列(未使用)上采样,它选择一个值。然后我想在同一行中输出该值和两列(结转) 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","carryo
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))
}
dat我很难理解你想做什么。是否要从data.frame中对行(或部分行)进行采样?你能举一个例子,给出你的示例数据,你的expeced输出是什么样子的吗?假设我对未使用的进行采样,它从第21行中选取一个值。然后,我想从第21行(第3列)中获取该值和结转值,即采样值所取自的同一行。我们可以首先从行号池中采样(与data.frame中的行数相同)。然后我们使用这些作为行索引,并选择行和两个感兴趣的列作为新的数据框架,而不是逐列采样、逐行采样,然后输出整行并提取所需内容。
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")
set.seed(1)
subsample <- dat[sample(seq_along(dat[, 1]), size = 10), c("unused", "carryover")]
unused carryover
25 696.4313 120.7247
4 541.7930 299.9415
7 621.7899 194.5108
1 383.2561 166.8942
2 555.0840 210.4745
23 509.4725 179.7150
11 716.6414 214.2963
14 531.1205 227.8825
18 496.7440 140.7691
19 588.5641 142.7861