On Jul 30, 2010, at 2:41 PM, steven mosher wrote:
# build a sample data frame illustrating the problem
ids<-c(rep(1234,5),rep(5436,3),rep(7864,4))
years<-c(seq(1990,1994,by=1),seq(1991,1993,by=1),seq(1990,1993,by=1))
data<-seq(14,25,by=1)
data[6]<-NA
DF<-data.frame(Id=ids,Year=years,Data=data)
DF
Id Year Data
1 1234 1990 14
2 1234 1991 15
3 1234 1992 16
4 1234 1993 17
5 1234 1994 18
6 5436 1991 NA
7 5436 1992 20
8 5436 1993 21
9 7864 1990 22
10 7864 1991 23
11 7864 1992 24
12 7864 1993 25
# The result wanted is a sum of DF$Data, by DF$Id. collect the sum
of $Data
for each $Id
# the result would take the form
# Id, sum for each Id
# Try using BY
result<-by(DF$Data,INDICES=Data$Id,FUN=sum,na.rm=T)
Try instead:
result<-by(DF$Data,INDICES=DF$Id,FUN=sum,na.rm=T)
--
David.
Error in names(IND) <- deparse(substitute(INDICES))[1L] :
'names' attribute [1] must be the same length as the vector [0]
idx<-as.list(Data$Id)
idx2<-
list(1234,1234,1234,1234,1234,5436,5436,5436,7864,7864,7864,7864)
result<-by(DF$Data,INDICES=idx,FUN=sum,na.rm=T)
result
[1] 215
result<-by(DF$Data,INDICES=idx2,FUN=sum,na.rm=T)
Error in tapply(1L:12L, list(1234, 1234, 1234, 1234, 1234, 5436,
5436, :
arguments must have same length
idx
list()
idx[1]
[[1]]
NULL
idx2
[[1]]
[1] 1234
[[2]]
[1] 1234
[[3]]
[1] 1234
[[4]]
[1] 1234
[[5]]
[1] 1234
[[6]]
[1] 5436
[[7]]
[1] 5436
[[8]]
[1] 5436
[[9]]
[1] 7864
[[10]]
[1] 7864
[[11]]
[1] 7864
[[12]]
[1] 7864
aggregate(DF$Data, by=idx2,sum,na.rm=T)
Error in aggregate.data.frame(as.data.frame(x), ...) :
arguments must have same length
################################
The instruction that the INDICES must have the same length is
confusing me.
the number of indices will always be less than the number of rows
because
the indices are repeated, we want to sum over multiple instances of
the
indices
to collect the Sum by index. I'm confused.
[[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.
David Winsemius, MD
West Hartford, CT
______________________________________________
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.