[R] How to change output 'csv' file
David Winsemius
dwinsemius at comcast.net
Wed Feb 3 13:56:18 CET 2010
On Feb 3, 2010, at 7:09 AM, Amelia Livington wrote:
> Dear R helpers
>
> After executing the R code, where the last few lines of the code are
> something like given below.
>
>
> ## Part of my R code
>
>
> n = 20
>
> ........
> .........
>
> final_output = data.frame(Numbers = numbers, ABC = data1, XYZ =
> data2, PQR = data3)
>
> write.csv(data.frame(Scenario = paste("Sc_", 1:n, sep = ""),
> final_output'), 'result.csv', row.names = FALSE)
>
> ## End of code
>
>
> When I open the 'result.csv' file, my output is like
>
> Scenario Numbers ABC XYZ
> PQR
> Sc_1 1 22
> 18 6
> Sc_2 2 24
> 16.5 11
> SC_3 3 38
> 41 38
>
> ................................................................
>
> Sc_20 20 15
> 27.5 74
This is done for the first three lines of data provided, but should
obviously be modified to accomadate different lengths of data.
> f2 <- stack(final_output)
#You can rename the columns to suit your needs; by default they are
ind and values.
> f2$Numbers <-rep(1:3,1) # should be rep(1:20, 3) in final solution
> f2$Scenario <- paste("Sc_", f2$Numbers, sep="")
> f2
values ind Numbers Scenario
1 22.0 ABC 1 Sc_1
2 24.0 ABC 2 Sc_2
3 38.0 ABC 3 Sc_3
4 18.0 XYZ 1 Sc_1
5 16.5 XYZ 2 Sc_2
6 41.0 XYZ 3 Sc_3
7 6.0 PQR 1 Sc_1
8 11.0 PQR 2 Sc_2
9 38.0 PQR 3 Sc_3
>> f2 <- f2[order(f2$Numbers), ]
> f2
values ind Numbers Scenario
1 22.0 ABC 1 Sc_1
4 18.0 XYZ 1 Sc_1
7 6.0 PQR 1 Sc_1
2 24.0 ABC 2 Sc_2
5 16.5 XYZ 2 Sc_2
8 11.0 PQR 2 Sc_2
3 38.0 ABC 3 Sc_3
6 41.0 XYZ 3 Sc_3
9 38.0 PQR 3 Sc_3
> write.csv( f2[ , c(4,3,2,1) ], file='result.csv', row.names=FALSE)
(Or write.csv( f2[ , c("Scenario","Numbers","ind","values") ],
file='result.csv', row.names=FALSE)
----
"Scenario","Numbers","ind","values"
"Sc_1",1,"ABC",22
"Sc_1",1,"XYZ",18
"Sc_1",1,"PQR",6
"Sc_2",2,"ABC",24
"Sc_2",2,"XYZ",16.5
"Sc_2",2,"PQR",11
"Sc_3",3,"ABC",38
"Sc_3",3,"XYZ",41
"Sc_3",3,"PQR",38
You said to use write.csv which does put the commas in despite yuor
example htat was comma-less.
>
>
> ## MY REQUIEMENT
>
> I wish to have output like given below.
>
> Scenario Numbers Names Values
>
> Sc_1 1 ABC 22
> Sc_1 1 XYZ 18
> Sc_1 1 PQR 6
> Sc_2 2 ABC 24
> Sc_2 2 XYZ 16.5
> Sc_2 2 PQR 11
>
> .................................................................
>
>
> Sc_20 20 ABC 15
> Sc_20 20 XYZ 27.5
> Sc_20 20 PQR 74
>
>
> Please guide how this can be achieved?
>
> Regards and thanks in advance
>
> Amelia
>
>
>
>
>
>
>
>
> [[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.
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
More information about the R-help
mailing list