Сохранить данные true / false match () из цикла в датафрейме - PullRequest
0 голосов
/ 20 мая 2018

Я знаю, что есть много сообщений о том, как сохранять данные из циклов во фреймы данных, но у меня возникли некоторые проблемы с тем, чтобы это работало для меня.В настоящее время я могу получать свои данные только с помощью печати, но вместо этого я хотел бы поместить их в фрейм данных.Я не могу предсказать, сколько строк данных или ответов на строку (хотя мне просто нужен один true / false), которые он даст.

Предложения о том, как получить цикл 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 голосов
/ 20 мая 2018

Инициируйте пустой фрейм данных:

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

И затем вместо печати просто добавьте это в свой цикл:

results[nrow(results)+1,] <- list( [your 3 values separated by ","] )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...