What do you think should be in the empty cells? Zero? NA? Empty strings? There 
can't just be nothing...
Here's an example with empty strings "" as the filler element - but do consider 
carefully what Duncan wrote.


test <- data.frame(first=c(1,2), second=c(3,4))
typeof(test[1,1])  # double

# rbind() a vector that repeats the "empty" element one-less-then-ncols() 
times, 
# and has the column sum as its last element.
test <- rbind(test, c(rep("", ncol(test)-1), sum(test$second)))
test

  first second
1     1      3
2     2      4
3            7

# but...!

typeof(test[1,1]) # character!
typeof(test[2,2]) # also character! 

By adding characters to your columns, you cast all of your data into character 
type!
If you want to *do* anything with the number, you'll need to cast it back to 
numeric.
Or use 0 or NA as the filler element.

test <- rbind(test, c(rep(NA, ncol(test)-1), sum(test$second)))

But anyway ... as others have said, you may want to reconsider the logic of 
your approach.


B.



On Nov 30, 2014, at 8:45 PM, Muhuri, Pradip (SAMHSA/CBHSQ) 
<pradip.muh...@samhsa.hhs.gov> wrote:

> Hi Boris,
> 
> Sorry for not being explicit when replying to your first email.   I wanted to 
> say it does not work when row-binding.  I want the following output.  Thanks, 
>  Pradip
> 
> 
> 1            1      3
> 2            2      4
> Total              7
> 
> ################### Below is the console ##########
>> test <- data.frame(first=c(1,2), second=c(3,4)) 
>> test
>  first second
> 1     1      3
> 2     2      4
>> 
>> sum(test$second)
> [1] 7
>> 
>> rbind(test, sum(test$second))
>  first second
> 1     1      3
> 2     2      4
> 3     7      7
> 
> Pradip K. Muhuri, PhD
> SAMHSA/CBHSQ
> 1 Choke Cherry Road, Room 2-1071
> Rockville, MD 20857
> Tel: 240-276-1070
> Fax: 240-276-1260
> 
> -----Original Message-----
> From: Boris Steipe [mailto:boris.ste...@utoronto.ca] 
> Sent: Sunday, November 30, 2014 5:51 PM
> To: Muhuri, Pradip (SAMHSA/CBHSQ)
> Cc: r-help@r-project.org
> Subject: Re: [R] R dplyr solution vs. Base R solution for the slect column 
> total
> 
> No it doesn't ...
> consider:
> 
> test <- data.frame(first=c(1,2), second=c(3,4)) test
>  first second
> 1     1      3
> 2     2      4
> 
> sum(test$second)
> [1] 7
> 
> 
> 
> 
> On Nov 30, 2014, at 3:48 PM, Muhuri, Pradip (SAMHSA/CBHSQ) 
> <pradip.muh...@samhsa.hhs.gov> wrote:
> 
>> Hi Boris,
>> 
>> That gives me the total for each of the 6 columns of the data frame. I want 
>> the column sum just for the last column.
>> 
>> Thanks,
>> 
>> Pradip Muhuri
>> 
>> 
>> 
>> -----Original Message-----
>> From: Boris Steipe [mailto:boris.ste...@utoronto.ca]
>> Sent: Sunday, November 30, 2014 12:50 PM
>> To: Muhuri, Pradip (SAMHSA/CBHSQ)
>> Cc: r-help@r-project.org
>> Subject: Re: [R] R dplyr solution vs. Base R solution for the slect 
>> column total
>> 
>> try:
>> 
>> sum(test$count)
>> 
>> 
>> B.
>> 
>> 
>> On Nov 30, 2014, at 12:01 PM, Muhuri, Pradip (SAMHSA/CBHSQ) 
>> <pradip.muh...@samhsa.hhs.gov> wrote:
>> 
>>> Hello,
>>> 
>>> I am looking for a dplyr or base R solution for the column total - JUST FOR 
>>> THE LAST COLUMN in the example below. The following code works, giving me 
>>> the total for each column - This is not exactly what I want.
>>> rbind(test, colSums(test))
>>> 
>>> I only want the total for the very last column.  I am struggling with 
>>> this part of the code: rbind(test, c("Total", colSums(test, ...))) I have 
>>> searched for a solution on Stack Oveflow.  I found  some mutate() code for 
>>> the cumsum but no luck for the select column total.  Is there a dplyr 
>>> solution for the select column total?
>>> 
>>> Any hints will be appreciated.
>>> 
>>> Thanks,
>>> 
>>> Pradip Muhuri
>>> 
>>> 
>>> ####### The following is from the console - the R script with reproducible 
>>> example is also appended.
>>> 
>>> 
>>> mrjflag cocflag inhflag halflag oidflag count
>>> 1        0       0       0       0       0   256
>>> 2        0       0       0       1       1   256
>>> 3        0       0       1       0       1   256
>>> 4        0       0       1       1       1   256
>>> 5        0       1       0       0       1   256
>>> 6        0       1       0       1       1   256
>>> 7        0       1       1       0       1   256
>>> 8        0       1       1       1       1   256
>>> 9        1       0       0       0       1   256
>>> 10       1       0       0       1       1   256
>>> 11       1       0       1       0       1   256
>>> 12       1       0       1       1       1   256
>>> 13       1       1       0       0       1   256
>>> 14       1       1       0       1       1   256
>>> 15       1       1       1       0       1   256
>>> 16       1       1       1       1       1   256
>>> 17       8       8       8       8      15  4096
>>> 
>>> 
>>> 
>>> #######################  below is the reproducible example 
>>> ########################
>>> library(dplyr)
>>> # generate data
>>> dlist <- rep( list( 0:1 ), 4 )
>>> data <- do.call(expand.grid, drbind)
>>> data$id <- 1:nrow(data)
>>> names(data) <- c('mrjflag', 'cocflag', 'inhflag', 'halflag')
>>> 
>>> 
>>> # mutate a column and then sumamrize
>>> test <- data %>%
>>>     mutate(oidflag= ifelse(mrjflag==1 | cocflag==1 | inhflag==1 | 
>>> halflag==1, 1, 0)) %>%
>>>     group_by(mrjflag,cocflag, inhflag, halflag, oidflag) %>%
>>>     summarise(count=n()) %>%
>>>     arrange(mrjflag,cocflag, inhflag, halflag, oidflag)
>>> 
>>> 
>>> #  This works, giving me the total for each column - This is not what I 
>>> exactly want.
>>>  rbind(test, colSums(test))
>>> 
>>> # I only want the total for the very last column rbind(test, 
>>> c("Total", colSums(test, ...)))
>>> 
>>> Pradip K. Muhuri, PhD
>>> SAMHSA/CBHSQ
>>> 1 Choke Cherry Road, Room 2-1071
>>> Rockville, MD 20857
>>> Tel: 240-276-1070
>>> Fax: 240-276-1260
>>> 
>>> 
>>>     [[alternative HTML version deleted]]
>>> 
>>> ______________________________________________
>>> R-help@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.
>> 
> 

______________________________________________
R-help@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.

Reply via email to