On 11/22/05, Gorjanc Gregor <[EMAIL PROTECTED]> wrote: > > Hi > > > > can you please explain why do you need it? What do you want to do with the > > exported file? > > > > I wonder what type of software can not accept any reasonable delimiter and > > requires fwf files. > > > > The only workaround I can imagine is to transfer all columns to character > > and add leading spaces to each item which is > shorter than longest item in > > specified column to equalize length of all items in column and then use > > > > write.table( tab, "file.txt", sep=" ", row.names=F) > > > > as suggested. > > > > But I still wonder why? > > OK, I did not want to be to specific, but here it goes. I am using some > "special" software for variance component estimation and prediction in > genetics. Programs are VCE and PEST (http://w3.tzv.fal.de/%7Eeg/) and > they both read data in FW (fixed width) format. For those programs > you can only give data in such format and it is really tedious to do so, > but that is the way it is. > > > > > If you used e.g. > > write.table( tab, "file.xls", sep="\t", row.names=F) > > > > you can open it directly by spreadsheet program just by clickung on it and > > everything shall be properly aligned. > > > > I am fully aware of this, but I do need FW format. I will try with sprintf(), > but > this looks very though for me. > > > >>Petr Pikal wrote: > > >>> Hi > > >>> > > >>> did you tried something like > > >>> > > >>> write.table( tab, "file.txt", sep="\t", row.names=F) > > >>> > > >>> which writes to tab separated file? > > >>> > > >> > > >>Petr thanks, but I do not want a tab delimited file. I need spaces > > >>between columns. > > > > > > write.table( tab, "file.txt", sep="", row.names=F) > > > Can it do what you want? > > > > Ronggui thanks, > > > > but this does not work also. For example I get something like > > this bellow > > > > "26" "1" 42 "DA" "DA" "lipa" "Monika" > > "26" "1" 42 "DA" "DA" "lipa" "Monika" > > "27" "1" 41 "DA" "DA" "smreka" "Monika" > > "27" "1" 41 "DA" "DA" "smreka" "Monika" > > > > and you can see, that there is a problem, when all "values" > > in a column do not have the same length. I need to get > > > > "26" "1" 42 "DA" "DA" "lipa" "Monika" > > "26" "1" 42 "DA" "DA" "lipa" "Monika" > > "27" "1" 41 "DA" "DA" "smreka" "Monika" > > "27" "1" 41 "DA" "DA" "smreka" "Monika" > > > > i.e. columns should be properly aligned. > >
Try this: > irish <- head(iris) > write(t(apply(irish, 2, format)), file = "", ncol = ncol(irish)) 5.1 3.5 1.4 0.2 setosa 4.9 3.0 1.4 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.6 3.1 1.5 0.2 setosa 5.0 3.6 1.4 0.2 setosa 5.4 3.9 1.7 0.4 setosa ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
