Функция возвращает NA в течение цикла - PullRequest
0 голосов
/ 03 сентября 2018

Здравствуйте, у меня есть фрейм данных, который я хочу обозначить несколькими строками. Я использую

imc <- dfWoNA[1,]
imc <-head(imc,-1)

id20 <- unique_entrezgene_ids[1:20]

for (j in id20) {
  rows <- dfWoNA [which(dfWoNA$X == as.double(j)),]
  temp <- colMeans(rows[,2:285], na.rm = FALSE)
  nx <- c(j,temp)
  imc <- rbind(imc,nx)

  rm(rows)
  rm(nx)
  rm(temp)
}

показанные состояния, однако результат функции выше, я принимаю результат только для первой строки, если делаю то же самое без цикла for вручную, я принимаю результат для каждого из элементов в id20, но для цикла выдает результаты NA для строк, кроме первого , Если вы можете помочь мне, я ценю это. Спасибо.

1 Ответ

0 голосов
/ 03 сентября 2018

Мы могли бы сделать это с tidyverse. Сгруппированные по 'X', получают mean всех столбцов с summarise_all и bind строк с исходным набором данных

library(tidyverse)
dfWoNA %>%
   group_by(X) %>% 
   summarise_all(mean, na.rm = TRUE) %>% 
   bind_rows(dfWoNA, .)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...