对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