I would like to read it (the data) iinto a different application (not
'R'). Within 'R' I can
mlist[[1]]> mlist[1]
[[1]]
[[1]]$Sku
[1] "0"
[[1]]$Shape
[1] 250.0586
[[1]]$Scale
[1] 91.9914
[[1]]$DayOfYear
[1] 250
OR
mlist[[2]]> mlist[[2]]
$Sku
[1] "100008"
$Shape
[1] 178.9637
$Scale
[1] 58.76785
$DayOfYear
[1] 82 89 93 108 123 123 125 185 186 260 261 266 266 270 270 270 270 273 276
276 276 277 277 277 277 278 278 279 341 357
>
I essentially want to mimic this structure with the write.table but that is not
what I am seeing. If I take the variable length list off then I get what appears
to be a autogenerated list of headers for every row in the file. It is like the
fact that this is a list of lists is forgotten.
For each line of the file being something like (for the first two list elements
above)
0,250.0586,91.9914,250
100008,178.9637,58.767,85,82 ,89
,93,108,123,123,125,185,186,260,261,266,266,270,270,270,270,273,276,276,276,277,277,277,277,278,278,279,341,357
Where 100008 is the part number (Sku), 178.9637 is the Shape, 58.767 is the
Scale, and the remaining is the day of year list (variable length). There would
be one of these rows for every part number. If I use dput I get more than I want
and it doesn't mean anything to the external application that I am exporting
the data to. Similarily 'dump' gives me a bunch of 'R' specific
information about the data structure that an external application will not
necessarily know what to do with. I just want a simple one row output as able.
If I just write.table(mlist,.....) then I get the aforementioned warning about
different lengths. If I iterate though the list:
for(i in 1:length(mlist))
{
write.table(mlist[[i]].....)
}
Then I get a "50 or more warnings" error.
50: In write.table(mlist[[i]], "SkuSalesInfo.dat", row.names =
FALSE, ... :
appending column names to file
The file that is generated is HUGE (> 250Mb). It seems to be duplicating the
row the by the number of elements in the variable list. So instead of one row I
get:
"Sku","Shape","Scale","DayOfYear"
"100008",178.963659119674,58.7678453522722,82
"100008",178.963659119674,58.7678453522722,89
"100008",178.963659119674,58.7678453522722,93
"100008",178.963659119674,58.7678453522722,108
"100008",178.963659119674,58.7678453522722,123
"100008",178.963659119674,58.7678453522722,123
"100008",178.963659119674,58.7678453522722,125
"100008",178.963659119674,58.7678453522722,185
"100008",178.963659119674,58.7678453522722,186
"100008",178.963659119674,58.7678453522722,260
"100008",178.963659119674,58.7678453522722,261
"100008",178.963659119674,58.7678453522722,266
"100008",178.963659119674,58.7678453522722,266
"100008",178.963659119674,58.7678453522722,270
"100008",178.963659119674,58.7678453522722,270
"100008",178.963659119674,58.7678453522722,270
"100008",178.963659119674,58.7678453522722,270
"100008",178.963659119674,58.7678453522722,273
"100008",178.963659119674,58.7678453522722,276
"100008",178.963659119674,58.7678453522722,276
"100008",178.963659119674,58.7678453522722,276
"100008",178.963659119674,58.7678453522722,277
"100008",178.963659119674,58.7678453522722,277
"100008",178.963659119674,58.7678453522722,277
"100008",178.963659119674,58.7678453522722,277
"100008",178.963659119674,58.7678453522722,278
"100008",178.963659119674,58.7678453522722,278
"100008",178.963659119674,58.7678453522722,279
"100008",178.963659119674,58.7678453522722,341
"100008",178.963659119674,58.7678453522722,357
The header seems to be duplicated for each element also.
Any ideas?
Thank you.
Kevin
---- jim holtman <jholtman at gmail.com> wrote: > What do you want to do with the data? Are you just storing it to read
> in it later? Have you looked at 'save/load'? If you want a
character
> representation, try 'dput'; this can be read back in with
'source'.
> So it all depends on what you are planning to do with it.
>
> On Mon, Aug 11, 2008 at 4:14 PM, <rkevinburton at charter.net>
wrote:
> > I have a list
> >
> > List(Sku=" ", Shape=1, Scale=3, DayOfYear=daylist)
> > Note: picture daylist as c(2,3,4,3) it is a list with variable length.
> >
> > Then I have a list of lists
> >
> > al <- c(al, List(List(Sku=" ", Shape=1, Scale=3,
DayOfYear=daylist))
> > Note: same comment on daylist as above.
> >
> > So far this creates a list of lists just how I want it. If I do al[1]
I get each member and the variable length list 'daylist'.
> >
> > Now I want to export this list of lists:
> >
> > write.table(mlist, "SkuInfo.dat", row.names = FALSE,
sep=",")
> >
> > But I get an error that the list lengths are not equal. The only
member of this list that has a variable length would be DayOfYear
> >
> > How can I output this list of lists when each element list contains a
variable length list?
> >
> > Thank you.
> >
> > Kevin
> >
> > ______________________________________________
> > 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.
> >
>
>
>
> --
> Jim Holtman
> Cincinnati, OH
> +1 513 646 9390
>
> What is the problem that you are trying to solve?