как эффективно заставить столбцы, совместно используемые несколькими фреймами данных, быть одного типа - PullRequest
0 голосов
/ 09 ноября 2018

На этом сайте я обнаружил следующую функцию, и она прекрасно работает, когда я пытаюсь сопоставить только типы данных второго фрейма данных с первым. Но что произойдет, если у меня будет более 10 фреймов данных, и одни и те же столбцы, разделяемые между ними, относятся к разным типам данных, например, столбец «оценка» в одном фрейме данных классифицируется как числовой, а в нескольких других - как символьный? Можно ли изменить эту функцию так, чтобы все, что мне нужно было сделать, это указать, какие кадры данных, которые входят в функцию, и заставить ее возвращать несколько кадров данных с типами данных, которые соответствуют первому? У меня нет опыта работы с функциями, но я надеюсь узнать о них больше. Я использую matchColClasses (спасибо GGAnderson за это!), Но с двумя кадрами данных одновременно, и это может быть немного трудоемким. Спасибо за любые ваши отзывы.

 matchColClasses<- function(df1, df2){
# Purpose:  protect joins from column type mismatches - a problem with multi-column empty df          
# Input:    df1 - master for class assignments, df2 - for col reclass and return.
# Output:   df2 with shared columns classed to match df1
# Usage:    df2 <- matchColClasses(df1, df2)

  sharedColNames <- names(df1)[names(df1) %in% names(df2)]
  sharedColTypes <- sapply(df1[,sharedColNames], class)

  for (n in sharedColNames) {
    class(df2[, n]) <- sharedColTypes[n]
  }

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