R中的自定义功能

时间:2014-07-11 18:58:57

标签: r function

我在R中创建了一些带有数据和返回变量的简单函数。我很感激使用下面的代码将其转到另一个级别的说明:有一个数据框'df'包含变量DOFW,CDFME(还有其他的,但是这两个就足够了。我想通过在函数中使用变量的名称并使其构建条形图。基本上我想创建一个函数来执行z< - 通过abline的操作并为每个变量调用该函数。谢谢。

df<-data.frame(y.train,x.train)

z<-ddply(df,~DOFW,summarise,median=median(PCTCHG))
row.names(z)<-z$DOFW
z$DOFW<-NULL
barplot(t(as.matrix(z)),main="Median Return by DOFW",xlab="DOFW")
abline(h=median(y.train))

z<-ddply(df,~CDFME,summarise,median=median(PCTCHG))
row.names(z)<-z$CDFME
z$CDFME<-NULL
barplot(t(as.matrix(z)),main="Median Return by CDFME",xlab="CDFME")
abline(h=median(y.train))

1 个答案:

答案 0 :(得分:1)

实际上,您并不需要非标准评估,因为ddply允许您传递变量名称的字符串而不是公式。这是你怎么做到的。

#sample data
dd<-data.frame(a=rep(1:5, 2), b=2:11, c=runif(10))

#define function 
library(plyr)

myplot<-function(coln) {
    z<-ddply(dd, coln, summarise, median=median(c))
    barplot(z[,2], main=paste("Median Return By", coln))
    abline(h=median(dd$c))
}

#make plots
myplot("a")
myplot("b")

以及将列名称作为字符向量的最简单方法是names(dd)

相关问题