从数据帧中的循环中保存true / false match()数据

时间:2018-05-19 22:08:31

标签: r

我知道有很多关于如何将数据从循环中保存到数据帧的帖子,但是我一直在努力让它对我起作用。目前我只能使用print获取数据,但希望将其放入数据框中。我不能预测每行会有多少行数据或响应(虽然我只需要一个真/假)。

关于如何让P循环将数据输出到数据帧的建议?

max <- max(x$a)
for (n in 1:max) {
  print(n)
  #right now i'm just printing the iteration and data to console
  result <- x[x$a==n,"b"]
   test <- unique(as.numeric(unlist(result)))
   #Below is the loop i'd like to save the data from  
   for (P in test) 
     print({
       ar  <- x[x$b==P & x$a!=n,"a"]
       ar1 <- sapply(unique(as.numeric(unlist(ar))), 
                function(f) 
                  x[x$a==f & x$b!=P,"b"])
       af  <- sapply(ar1, function(f) any(match(f,result)))
     })
}

谢谢!

1 个答案:

答案 0 :(得分:0)

启动空数据框:

results <- data.frame(it=numeric(), P=numeric(), value=logical())

然后不是打印,只需在循环中添加:

results[nrow(results)+1,] <- list( [your 3 values separated by ","] )