在void调用中不返回任何内容的函数

时间:2017-09-08 16:09:42

标签: r function data.table

当我创建以下简单函数时,我很困惑。 如果我没有在temp中分配类,那么当我执行该函数时,我在屏幕上看不到任何内容(没有打印或分配给任何东西)

library(dplyr)
library(data.table)
    my_percentage <- function(datatable, variable ){ 
            temp <- datatable[, .N, keyby = c(variable)]
            temp[, percentage := N/sum(N)]
             # temp <- as.data.table(temp)
            return(temp)
    }

my_percentage(iris %>% as.data.table(), variable = "Species")
# print(my_percentage(iris %>% as.data.table(), variable = "Species"))

但是,如果我在对象中分配任何我将返回的类,那就没问题了。

my_percentage <- function(datatable, variable ){ 
            temp <- datatable[, .N, keyby = c(variable)]
            temp[, percentage := N/sum(N)]
            temp <- as.data.table(temp)
            return(temp)
    }

my_percentage(iris %>% as.data.table(), variable = "Species")

任何人都可以向我解释原因吗?

0 个答案:

没有答案