Записывать результаты обратно в lastrow + 1 во вновь созданный фрейм данных - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь записать результаты в течение для l oop на новый созданный мной фрейм данных. Я хотел бы перебрать каждую строку, а затем записать результаты в последнюю строку во фрейме данных (lastrow + 1). К сожалению, я застрял и не могу получить результаты для обратной записи.

#create a new dataframe
results<- data.frame(Fields=character(), Employee=character(), Plan=character())

a<-COMP30$PFRPrint_Has_Plan
b<-COMP30$PFRPrint_Is_Eligible
c<-COMP30$`Employee ID`
d<-results$Employee

matches<-cbind(a,b,c)
res<-cbind(d)
for (k in 1:nrow(matches)){
  if (matches[k,1]==TRUE & matches[k,2]==FALSE){
    results[nrow(results$Employee)+1,1]<-matches[k,3]   
  }
}

1 Ответ

0 голосов
/ 21 февраля 2020

Если я правильно понял, что вы пытаетесь сделать, вы пытаетесь отфильтровать COMP30$`Employee ID` только в тех случаях, когда COMP30$PFRPrint_Has_Plan == TRUE и COMP30$PFRPrint_Is_Eligible == FALSE.

Так почему бы не просто go

library(dplyr)
results <- COMP30 %>%
  filter(PFRPrint_Has_Plan,
         !PFRPrint_Is_Eligible) %>%
  select("Employee ID") # Might need backticks for that column name

Так как ваш l oop не указывает значения для столбцов Fields или Plan, я предполагаю, что вы добавляете их к results позже

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...