R从自定义函数

时间:2018-02-28 02:06:14

标签: r function

我正在尝试使用table()为100多个变量在 R 中运行EDA。

当我运行以下代码时,它们正常工作。

  var_freq <- table(dataset$count)
  var_freq_df <- as.data.frame(var_freq)
  var_freq_df$percent <-var_freq_df$Freq/ sum(var_freq_df$Freq)


> var_freq_df
   V1     N      percent
1:  0 68432 4.487138e-01
2:  1 80979 5.309855e-01
3:  2  2383 1.562551e-02
4:  3   654 4.288328e-03
5:  4    49 3.212967e-04
6:  5     8 5.245661e-05

由于我有100多个变量,我在下面编写了自定义函数。

  categ_EDA <- function(dataset,var){
 var_freq <- NULL
  var_freq <- table(dataset$var)
  var_freq_df <- as.data.frame(var_freq)
  var_freq_df$percent <-var_freq_df$Freq/ sum(var_freq_df$Freq)

  return( var_freq_df)
}
 categ_EDA(dataset,count)

返回此结果。

  >  categ_EDA(dataset,count)
[1] Freq    percent
<0 rows> (or 0-length row.names)

我还使用了data.table而不是as.data.frame,它有不同的错误。

最令我困惑的部分是这些代码在函数之外工作正常,但在自定义函数中不起作用。任何建议都非常感谢!

0 个答案:

没有答案