如何在R中自动执行任务

时间:2015-04-28 12:50:38

标签: r

我想找到一种在R中自动化描述性统计的方法。 我总是必须为我导入的每个csv文件重复相同的步骤。 虽然我宁愿有办法真正实现自动化。现在我做:

myvariable <-read.csv(file="my.csv",head=TRUE,sep=",")
names(myvariable)

检查我想在名称中查看哪些列:

x <- myvariable$ColumnName
plot(x) (in various plot types)

我想做的是:

读入文件夹中的一个(可能是全部)csv文件,并将不同的列分配给变量(或者可能是数据框,我不知道哪个是最好的)。这些变量应该可以在不同的图中使用(例如boxplot,密度等),而不必在我更改我要导入的csv时再次更改整个脚本。

我希望我的问题有道理。我想有一种方法可以将csv文件放在目录中,运行脚本并查看绘制的基本描述性统计结果。

谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个函数式编程问题。基本上,只需编写一个输入数据集和变量名称的函数(或统计方法所需的任何输入),然后输出方法或绘图的结果。这是一个hacky小玩具的例子:

library(ggplot2) #for diamonds dataset
sum_plot <- function(data, var1, var2){
  print(var1)
  print(summary(data[ ,var1]))
  print(var2)
  print(summary(data[ ,var2]))
  plot(data[, var1], data[, var2])
}

sum_plot(mtcars, "cyl", "mpg")
sum_plot(diamonds, "carat", "cut")

这是一种思考R代码的超级强大方式。强烈推荐本章的主题。 http://adv-r.had.co.nz/Functional-programming.html