2015-05-20 2 views
1

Я хочу создать функцию, которая будет выполнять все мои строки кода. Существует один вход и несколько выходов, как показано ниже:Определенная пользователем функция - вывод нескольких кадров данных

Region_Analysis_Function <- function(Input_Region){ 
    Subset_Region_Data = subset(Region_Data, Region == Input_Region) 
    Seniority_Region = table(Subset_Region_Data$Seniority) 
    Seniority_Region = as.data.frame(Seniority_Region) 
    {Subset_Region_Data, Seniority_Region} 
} 

вход представляет собой фрейм данных под названием «Region_Data.» Я хочу, чтобы эта функция печатала как «Subset_Region_Data», так и «Seniority_Region» как два разных кадра данных.

Любой способ печати нескольких выходов?

Большое спасибо заранее!

+2

Вы можете использовать 'список (Subset_Region_Data, Seniority_Region)', чтобы получить выход в list – akrun

ответ

2

Список - вот что вы ищете.

Вы можете сделать это:

my_two_df_function <- function(){ 
    df1 <- data.frame() 
    df2 <- data.frame() 
    return(list(df1=df1, df2=df2)) 
} 
df_list <- my_two_df_function() 
df_list$df1 
df_list$df2 

Вы можете смешивать типы список тоже ...

my_two_df_function <- function(){ 
    df1 <- data.frame() 
    df2 <- data.frame() 
    return(list(df1=df1, df2=df2, error_msg="none")) 
} 
df_list <- my_two_df_function() 

df_list$error_msg 
+0

О, мужчина, не хотел наступать на все пальцы. Просто пыталась объяснить, почему список - это способ пойти немного глубже. – cory

+0

@Dason I зарезервирован для cory, и у меня нет проблем в других, используя комментарий в качестве ответа. Это было сделано раньше, и я также использовал комментарии для ответа, но я это признаю. Во всяком случае, никаких проблем, поэтому я удалил комментарий перед отправкой ответа. Кроме того, здесь функция была написана OP, за исключением последней строки, о которой я упоминал, чтобы изменить – akrun

+0

@cory, Спасибо! Это сработало :) – user4918087

Смежные вопросы