Различные операции с разными наборами данных в функции - PullRequest
0 голосов
/ 17 января 2020

Мне нужно придумать функцию, основанную на разных наборах данных, которые были переданы в функцию, операции разные. Используя mtcars и iris в качестве примера:

func<-function(df) {
  if (df ==mtcars){
  df%>%summarise(cnt=n())}
  else{
    df
  }
}
func(mtcars)
func(iris)

Если это mtcars, дайте мне счетчик, но если это iris, просто верните мне его. Однако этот код не работает так, как я хочу. Когда я делаю func(mtcars), я получаю предупреждающее сообщение, подобное этому Warning message: In if (df == mtcars) { : the condition has length > 1 and only the first element will be used. Если я сделаю func(iris), это выдаст мне ошибку Error in Ops.data.frame(df, mtcars) : ‘==’ only defined for equally-sized data frames. Так как мне это исправить?

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