对满足R中另一个数据集的条件的一个数据集的行进行求和

时间:2015-08-26 16:02:18

标签: r loops while-loop

我需要帮助编码以下内容:我想从“s”的FIRST列中随机采样值并添加这些值,直到它们的总和等于“dat”的FIRST列的第一行,第二行等,从“s”的SECOND列中随机采样值并添加这些值,直到它们的总和等于“dat”的第二列的第一行,第二行等,对所有6列重复此过程。最终输出应与dat的结构相匹配,并包含满足“dat”中每个单元格标准的“s”行数。

这是我想要的近似值 - 通过代码仅用于“dat”的FIRST列的单个单元格和“s”的相应FIRST列,因为我无法索引“s”和“s” DAT”。

set.seed(1234)
dat<-matrix(rnorm(30, 50, 10), ncol=5)
dat<-as.data.frame(round(dat))
dat.V1<-dat[,1]
s<-matrix(rnorm(60, 7, 2), ncol=5)
s<-as.data.frame(s)
s.V1<-s[,1]

total  <- 0
result <- 0
  while (result<= dat.V1[1]) {
    result_ind = sum(result + s.V1[sample(s.V1, 1)])- result
    result     = result + s.V1[sample(s.V1, 1)]
    total      = total + 1 
    if(result == dat.V1[1]) break
  }

allout<-cbind(dat.V1[1], result, total)
allout
      result total
[1,] 38 41.47509     7

这里dat.V1 [1] = 38,来自s.V1 = 41.47509的随机值之和(我想要一个值s.V1≈dat.V1[1],但足够接近),带有s的计数.V1 = 7符合此单元格的标准。非常感谢提前!

0 个答案:

没有答案