运行此代码时,为什么变量名称result_var_all不会显示在v中?它只是我要问的变量名称本身。否则代码工作正常。
v<-ddply(y1,.(metric_name), result_var_all<-function(x) {
y1a<-x[match(unique(x[,2]),x[,2]),]
y1b<-(y1a$event)
y1c<-subset(x,x[,1] %in% (y1b))
var(y1c$result_value)
})
我也尝试了这种变化,它再次运行完成,但是对于样本数据中的field = metric_name的每个值都给出了相同的结果(这个小数据集的NA和较大数据集中的数值)。那是为什么?
z1<-split(y1,y1[,3])
lapply(z1, function(x) {
y1a<-x[match(unique(x[,2]),x[,2]),]
y1b<-(y1a$event)
y1c<-subset(x,x[,1] %in% (y1b))
x["result_var_all"]<-var(y1c$result_value)
out<-x
return(out)})
m<-rep(c("a1","a2","a3","b1","b2","b3","c1","c2","c3"),2)
n<-rep(c(rep(letters[1],3),rep(letters[2],3),rep(letters[3],3)),2)
p<-rep(c("width","depth","count"),6)
r<-c(sample((100:200),9),sample((20:50),9))
y1<-data.frame(m,n,p,r)
colnames(y1)<-c("event","site","metric_name","result_value")
这是一个较长脚本中的模块,其中过滤器是目标记录集的子集,大约有300个度量标准。并非所有网站都有相同的指标,有些网站也有多个活动。