2015-05-20 71 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個不同的數據幀。

任何方式打印多個輸出?

非常感謝!

+2

你可以用'名單(Subset_Region_Data,Seniority_Region)'得到的輸出在列表 – 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我upvoted cory和我沒有任何問題在其他人使用評論作爲答案。它之前已經完成,我也用評論來回答,但我確實承認它。無論如何,沒有問題,所以我在發佈回覆之前刪除了評論。另外,在這裏,這個函數已經被OP寫入,除了最後一行,我提到要更改 – akrun

+0

@cory,謝謝!有效 :) – user4918087