[R] adding a name to cross tab margins
Sarah Goslee
sarah.goslee at gmail.com
Fri Apr 15 15:36:44 CEST 2011
Hi Dmitry,
Nothing is seriously wrong.
You want to set the fourth column name, so take column names THEN
the fourth element:
colnames(PiD)[4] <- "total"
Thank you for providing a clear and simple reproducible example.
Sarah
On Fri, Apr 15, 2011 at 9:29 AM, Dmitry Berman <ravenblur at gmail.com> wrote:
> Listers,
>
> I have created a cross-tab matrix using the following code:
>
> S <-
> c(1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,1,2,3,1,1,2,3,1,2,2)
> F <-
> c(1,2,3,1,2,3,1,1,1,1,2,3,1,1,3,2,2,2,1,2,3,1,1,1,1,2,3,3,1,3,1,3,1,1,2,3,1,1,3,2,3,2,1,1,1,2,3,1,1,2)
> table(S,F)
> fF <-factor(F, labels = c("Dem","Ind","Rep"))
> fS <-factor(S, labels = c("Dem","Ind","Rep"))
> PiD <- table(fS,fF)
> PiD <- cbind(PiD, margin.table(PiD,1))
> PiD <- rbind(PiD, margin.table(PiD,2))
>
> Now I would like to add the Column Name and Row Name "Total" to the last row
> and last column (where the marginal totals now hang out). When I use the
> command
>
> colnames(PiD[,4]) <- c("total") I get the error:
>
> Error in `colnames<-`(`*tmp*`, value = "WTF") :
> attempt to set colnames on object with less than two dimensions
>
>
> Since I am still new to R, I can't really understand the error... Can
> someone tell me what I am doing wrong here?
>
--
Sarah Goslee
http://www.functionaldiversity.org
More information about the R-help
mailing list