On Apr 29, 2011, at 4:27 PM, mathijsdevaan wrote:
Hi list,
Can anyone tell my why the following does not work? Thanks a lot!
Your help
is very much appreciated.
DF = data.frame(read.table(textConnection(" B C D E F G
8025 1995 0 4 1 2
8025 1997 1 1 3 4
8026 1995 0 7 0 0
8026 1996 1 2 3 0
8026 1997 1 2 3 1
8026 1998 6 0 0 4
8026 1999 3 7 0 3
8027 1997 1 2 3 9
8027 1998 1 2 3 1
8027 1999 6 0 0 2
8028 1999 3 7 0 0
8029 1995 0 2 3 3
8029 1998 1 2 3 2
8029 1999 6 0 0 1"),head=TRUE,stringsAsFactors=FALSE))
list<-sort(unique(DF$C)) ; require(sqldf); data <-list() # added inits
for (t in 1:length(list))
{
year = as.character(list[t])
data[year]<-sqldf('select * from DF where C = [year]')
#I see you have already gotten a workable answer, but thought you
might want to see if this would work:
data[year]<-sqldf(paste('select * from DF where C = ', year, sep="") )
# Two changes ... let `year` get evaluated and don't put `year` in
brackets.
}
> data
$`1995`
[1] 8025 8026 8029
$`1996`
[1] 8026
$`1997`
[1] 8025 8026 8027
$`1998`
[1] 8026 8027 8029
$`1999`
[1] 8026 8027 8028 8029
I am trying to split up the data.frame into 5 new ones, one for
every year.
--
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.