An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/r-help/attachments/20080304/1bc17077/attachment.pl
help needed on function call
3 messages · Erik Iverson, rmail ye
It isn't clear to me what output you would like to have by your description. However, there certainly is a clearer way of getting there than your functions. If you better define what output you'd like to have (i.e., what your table should look like), I may be able to offer some suggestions. You may want to look at ?prop.table to see if it helps you though. Best, Erik Iverson
rmail ye wrote:
Hi there,
I am confused about fucntion call. After defining a function, I called it
within another function.
dt<-cars; #a copy of R internal dataset "cars" created;
dt$cat1<-ifelse(dt$speed<20,0,1);
dt$ind<-ifelse(dt$speed<15,1,2); #group variable;
freqtot <- function(data,var){
attach(data,warn.conflicts=FALSE)
x1 <- data.frame(table(var))
names(x1) <- c("Group","cnt")
x1$pct<-round(x1$cnt/nrow(data)*100,1)
return(x1)
}
freqgrp <- function(dt,var,grp,grpcnt){
xx<-freqtot(dt,var)
for(i in 1:grpcnt) {
assign(paste("x",i,sep=""),subset(dt,grp==i))
df<-eval(parse(text=paste("x",i,sep="")))
yy <- freqtot(df,cat1);
names(yy)<-c("Group",paste("grp_",i,"_cnt",sep=""),paste("grp_",i,"_pct",sep=""))
xx<-merge(xx,yy,by.x="Group",all=TRUE)
}
print(xx)
}
The output is
xyz <- freqgrp(dt,cat1,ind,2)
Group cnt pct grp_1_cnt grp_1_pct grp_2_cnt grp_2_pct
1 0 38 76 23 100 15 55.6
2 1 12 24 NA NA 12 44.4
But if I substitue the variable "cat1" in line {yy <- freqtot(df,cat1)}, it
doesn't output the correct results.
The motivation to write the 2 functions is putting the count and percentage
for overall & each individual group together, and write the data frame into
a .csv file.
Thanks,
Sean
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/r-help/attachments/20080304/961932d7/attachment.pl