Как найти решения более одного в функции в R? - PullRequest
0 голосов
/ 16 марта 2019

Я только начал учиться на R и не смог найти решения этой простой проблемы.Я пытался создать свою собственную функцию.

sta<-function(a) 

{mean1<-mean(data$feb05, na.rm = TRUE) var(data$feb05, na.rm = TRUE)}

В этой функции моя цель - найти среднее значение и дисперсию данных.Проблемы, с которыми я столкнулся:

1) Я хотел дать mean1 имя для среднего значения данных.Но всякий раз, когда я пишу mean1, я не могу найти никакого решения.

2) Если я пишу только mean(data$feb05, na.rm = TRUE) в функции без имени и функции var, я могу получить решение.Но если я напишу значения средних и var вместе, я не смогу найти никакого решения.

Итак, в качестве резюме, я прошу дать имя решению и найти более одного решения в одной функции.

1 Ответ

1 голос
/ 16 марта 2019

Вернуть его как вектор

sta <- function(a) {
   c(mean1 = mean(a, na.rm = TRUE),  var1 = var(a, na.rm = TRUE))
}

и теперь вы можете сделать

sta(data$feb05)

Например,

new_var <- sta(mtcars$mpg)
new_var
#mean1  var1 
#   20    36 

Так что, если вы хотите получить доступ к отдельным элементам сейчас, вы можете сделать

new_var['mean1']
#mean1 
#   20 

new_var['var1']
#var1 
#  36 

Или вы также можете вернуть их как list

sta <- function(a) {
  list(mean1 = mean(a, na.rm = TRUE),  var1 = var(a, na.rm = TRUE))
}

и используйте оператор $ для доступа к таким элементам, как new_var$mean1 и new_var$var1.

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