Dear expeRts! when I try summarize data using "tabular" of tables package.. here is an example..> a <-data.frame(a=rep(10,10),b=round(runif(10,10,20)),c=round(runif(10,40,50)))> aa b c 1 10 14 44 2 10 17 40 3 10 13 40 4 10 18 40 5 10 11 49 6 10 16 46 7 10 15 43 8 10 19 49 9 10 19 49 10 10 13 45> tabular((a+1)~(n=1)+Format(dig=0)*(b + c) * (mean + sd),data=a)Error in term2table(rows[[i]], cols[[j]], data, n) : Duplicate values: a and b Is there a way to let the function accept the "apparently" duplicate values? Thanks, Santosh [[alternative HTML version deleted]]
Are you sure that it is not just telling you that it cannot tabulate on a since it only has one value? John Kane Kingston ON Canada> -----Original Message----- > From: santosh2005 at gmail.com > Sent: Fri, 19 Apr 2013 13:29:05 -0700 > To: r-help at r-project.org > Subject: [R] tables package - error message of "duplicate values" > > Dear expeRts! > when I try summarize data using "tabular" of tables package.. > > here is an example.. >> a <- > data.frame(a=rep(10,10),b=round(runif(10,10,20)),c=round(runif(10,40,50))) >> a > a b c > 1 10 14 44 > 2 10 17 40 > 3 10 13 40 > 4 10 18 40 > 5 10 11 49 > 6 10 16 46 > 7 10 15 43 > 8 10 19 49 > 9 10 19 49 > 10 10 13 45 >> tabular((a+1)~(n=1)+Format(dig=0)*(b + c) * (mean + sd),data=a) > Error in term2table(rows[[i]], cols[[j]], data, n) : > Duplicate values: a and b > > Is there a way to let the function accept the "apparently" duplicate > values? > > Thanks, > Santosh > > [[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.____________________________________________________________ FREE 3D EARTH SCREENSAVER - Watch the Earth right on your desktop!
David Winsemius
2013-Apr-19 20:53 UTC
[R] tables package - error message of "duplicate values"
On Apr 19, 2013, at 1:29 PM, Santosh wrote:> Dear expeRts! > when I try summarize data using "tabular" of tables package.. > > here is an example.. >> a <- > data.frame(a=rep(10,10),b=round(runif(10,10,20)),c=round(runif(10,40,50))) >> a > a b c > 1 10 14 44 > 2 10 17 40 > 3 10 13 40 > 4 10 18 40 > 5 10 11 49 > 6 10 16 46 > 7 10 15 43 > 8 10 19 49 > 9 10 19 49 > 10 10 13 45 >> tabular((a+1)~(n=1)+Format(dig=0)*(b + c) * (mean + sd),data=a) > Error in term2table(rows[[i]], cols[[j]], data, n) : > Duplicate values: a and b > > Is there a way to let the function accept the "apparently" duplicate > values?I don't consider myself an expert, just one who reads the manuals and makes modest adjustments to the help-page examples. Perhaps if you explained what you thought the correct answer would be ( and can you please explain why you are setting digits=0? tabular( 1~Format(digits=2) *(b+c)* (mean + sd),data=a) #------------------------- b c mean sd mean sd All 14.9 3.0 44.3 2.9 #----------------- # Putting a numeric variable on the LHS appears to fail but wrapping it in factor() allows success:> a<-data.frame(a=rep(c(1,2),10),b=round(runif(10,10,20)),c=round(runif(10,40,50))) > > tabular( (factor(a) +1)~Format(digits=2) *(b+c)* (mean + sd),data=a)#---------- b c factor(a) mean sd mean sd 1 15.2 3.7 45.0 2.6 2 13.0 3.5 48.2 1.2 All 14.1 3.7 46.6 2.6 -- David Winsemius Alameda, CA, USA