[R] how to subtotal by rows
shyam basnet
shyamabc2002 at yahoo.com
Sat Apr 20 18:20:17 CEST 2013
Dear All,
Thanks for helping me to redress the problem.
Cheers,
Shyam Basnet
Nepal
----- Original Message -----
> From: arun <smartpink111 at yahoo.com>
> To: Janesh Devkota <janesh.devkota at gmail.com>
> Cc: R help <r-help at r-project.org>; shyam basnet <shyamabc2002 at yahoo.com>
> Sent: Saturday, April 20, 2013 12:52 AM
> Subject: Re: [R] how to subtotal by rows
>
> HI,
>
> If you wanted to use colSums, may be this works:
>
> ddply(jd1,.(fid,year),function(x) colSums(x[,-c(1,2)],na.rm=TRUE))
> # fid year rice wheat maize
> #1 1 1995 5 3 2
> #2 1 1996 4 2 6
> #3 2 1995 3 8 4
> #4 2 1996 7 6 7
> A.K.
>
>
>
> ----- Original Message -----
> From: arun <smartpink111 at yahoo.com>
> To: Janesh Devkota <janesh.devkota at gmail.com>
> Cc: R help <r-help at r-project.org>; shyam basnet
> <shyamabc2002 at yahoo.com>; Rui Barradas <ruipbarradas at sapo.pt>
> Sent: Friday, April 19, 2013 6:25 PM
> Subject: Re: [R] how to subtotal by rows
>
>
> Hi Janesh,
> There is a difference in output between these :
> ddply(jd1,.(fid,year),colSums,na.rm=T) #especially the first two columns
> # fid year rice wheat maize
> #1 3 5985 5 3 2
> #2 3 5988 4 2 6
> #3 6 5985 3 8 4
> #4 6 5988 7 6 7
> ddply(jd1,.(fid,year),colwise(sum,na.rm=T))
> # fid year rice wheat maize
> #1 1 1995 5 3 2
> #2 1 1996 4 2 6
> #3 2 1995 3 8 4
> #4 2 1996 7 6 7
> aggregate(jd1[,3:5],by=list(jd1$year,jd1$fid),FUN=sum,na.rm=TRUE)
> # Group.1 Group.2 rice wheat maize
> #1 1995 1 5 3 2
> #2 1996 1 4 2 6
> #3 1995 2 3 8 4
> #4 1996 2 7 6 7
>
> A.K.
>
>
>
> ________________________________
> From: Janesh Devkota <janesh.devkota at gmail.com>
> To: shyam basnet <shyamabc2002 at yahoo.com>
> Cc: "r-help at R-project.org" <r-help at r-project.org>
> Sent: Friday, April 19, 2013 3:32 PM
> Subject: Re: [R] how to subtotal by rows
>
>
> You can also use this short command.
>
> library(plyr)
> ddply(jd1,.(fid,year),colSums,na.rm=T)
>
> Janesh
>
>
> On Fri, Apr 19, 2013 at 2:30 PM, Janesh Devkota
> <janesh.devkota at gmail.com>wrote:
>
>> Hello Shyam,
>>
>> This is one way to do it
>>
>> jd1 <- read.table(text="
>> fid year rice wheat maize
>> 1 1995 5 NA NA
>> 1 1995 NA 3 NA
>> 1 1995 NA NA 2
>> 1 1996 4 NA NA
>> 1 1996 NA 2 NA
>> 1 1996 NA NA 6
>> 2 1995 3 NA NA
>> 2 1995 NA 8 NA
>> 2 1995 NA NA 4
>> 2 1996 7 NA NA
>> 2 1996 NA 6 NA
>> 2 1996 NA NA 7
>> ", sep="", header=T)
>> jd1
>>
>> library(plyr)
>>
>> ddply(jd1,.(fid,year),summarise,
>> rice=sum(rice,na.rm=T),wheat=sum(wheat,na.rm=T),maize=sum(maize,na.rm=T))
>>
>> Good luck
>>
>> Janesh
>>
>>
>> On Fri, Apr 19, 2013 at 10:59 AM, shyam basnet
> <shyamabc2002 at yahoo.com>wrote:
>>
>>>
>>>
>>> Dear R-users,
>>>
>>> I have a dataset as like below, and I want to subtotal the values of
>>> rice,wheat and maize by year for each fid.
>>>
>>> fid year rice wheat maize
>>> ------------------------------------------------
>>> 1 1995 5 NA NA
>>> 1 1995 NA 3 NA
>>> 1 1995 NA NA 2
>>> 1 1996 4 NA NA
>>> 1 1996 NA 2 NA
>>> 1 1996 NA NA 6
>>> 2 1995 3 NA NA
>>> 2 1995 NA 8 NA
>>> 2 1995 NA NA 4
>>> 2 1996 7 NA NA
>>> 2 1996 NA 6 NA
>>> 2 1996 NA NA
>>> 7-----------------------------------------------
>>>
>>> And, my output should look like below:
>>>
>>> fid year rice wheat maize
>>> 1 1995 5 3 2
>>> 1 1996 4 2 6
>>>
>>> 2 1995 3 8 4
>>> 2 1996 7 6 7I am looking for some ideas or
>>> r-codes on resolving my problem.
>>> I appreciate your kind help,
>>>
>>>
>>> Thanks a lot,
>>>
>>> Sincerely yours,
>>> Shyam
>>> Nepal
>>> [[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.
>>>
>>>
>>
>
> [[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.
>
More information about the R-help
mailing list